タグ付けされた質問 「hibernate」

HibernateはJava言語用のオブジェクトリレーショナルマッピング(ORM)ライブラリであり、開発者はアプリケーションでPOJOスタイルのドメインモデルをオブジェクト/リレーショナルマッピングをはるかに超える方法で利用できます。

17
createClob()メソッドがエラーをスローしたため、コンテキストLOBの作成を無効にする
Oracle10gでHibernate3.5.6を使用しています。初期化中に以下の例外が発生しますが、アプリケーション自体は正常に動作しています。この例外の原因は何ですか?そしてそれをどのように修正することができますか? 例外メソッドがエラーを スローしたときにコンテキストLOBの作成を無効にするcreateClob():java.lang.reflect.InvocationTargetException 情報 Oracleバージョン:Oracle Database 10g EnterpriseEditionリリース10.2.0.4.0JDBCドライバー:Oracle JDBCドライバー、バージョン:11.1.0.7.0

3
mapsBy参照不明なターゲットエンティティプロパティ
注釈付きオブジェクトで1対多の関係を設定する際に問題が発生しています。 私は次のものを持っています: @MappedSuperclass public abstract class MappedModel { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="id",nullable=false,unique=true) private Long mId; その後、これ @Entity @Table(name="customer") public class Customer extends MappedModel implements Serializable { /** * */ private static final long serialVersionUID = -2543425088717298236L; /** The collection of stores. */ @OneToMany(mappedBy = "customer", cascade = CascadeType.ALL, fetch = FetchType.LAZY) …

4
Hibernate 4の新機能は何ですか?
Hibernate4のベータ版がリリースされたのを見たばかりです。3(.6)と比較して4の新機能は何ですか?ベータ版の発表でも、この質問のタイトルをグーグルで検索しても、この情報は見つかりませんでした。

7
Hibernate自動インクリメントID
アノテーション付きのhibernateを使用するj2eeアプリケーションがあります。pojoクラスのIdフィールドに注釈を付けて、自動インクリメントまたは自動生成として設定するにはどうすればよいですか。Beanを追加する際に、Beanのそのフィールドをnullのままにしますか?

7
@Test後のロールバックトランザクション
まず第一に、私はこれについてStackOverflowでたくさんのスレッドを見つけました、しかしそれらのどれも私を本当に助けませんでした、それでおそらく重複した質問をすることを残念に思います。 Spring-Testを使用してJUnitテストを実行しています。コードは次のようになります。 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {}) public class StudentSystemTest { @Autowired private StudentSystem studentSystem; @Before public void initTest() { // set up the database, create basic structure for testing } @Test public void test1() { } ... } 私の問題は、自分のテストが他のテストに影響を与えないようにしたいということです。そこで、テストごとにロールバックのようなものを作成したいと思います。私はこれをたくさん検索しましたが、今のところ何も見つかりませんでした。これにはHibernateとMySqlを使用しています

4
@Entityおよび@TableのName属性
名前属性が@Entityと@Tableの両方にあるため、疑問があります。 たとえば、name属性に同じ値を設定できます @Entity(name = "someThing") @Table(name = "someThing") 同じクラスに異なる名前を付けることもできます @Entity(name = "someThing") @Table(name = "otherThing") これら2つの違いと、両方に同じ属性がある理由を誰かに教えてもらえますか?

10
Hibernate Query.list()をList <Type>にキャストする「適切な」方法は何ですか?
私はHibernateの初心者であり、特定のフィルターに一致するオブジェクトのリストを返す簡単なメソッドを作成しています。List&lt;Foo&gt;自然な戻り値の型のようでした。 私が何をするにしても、醜いものを使わない限り、コンパイラを幸せにすることはできないようです@SuppressWarnings。 import java.util.List; import org.hibernate.Query; import org.hibernate.Session; public class Foo { public Session acquireSession() { // All DB opening, connection etc. removed, // since the problem is in compilation, not at runtime. return null; } @SuppressWarnings("unchecked") /* &lt;----- */ public List&lt;Foo&gt; activeObjects() { Session s = acquireSession(); Query q …

4
JPAの複数の埋め込みフィールド
JPAエンティティクラスに2つの埋め込み(@Embedded)フィールドを含めることは可能ですか?例は次のとおりです。 @Entity public class Person { @Embedded public Address home; @Embedded public Address work; } public class Address { public String street; ... } この場合、aにPersonはAddress自宅と職場の2つのインスタンスを含めることができます。Hibernateの実装でJPAを使用しています。Hibernate Toolsを使用してスキーマを生成すると、1つしか埋め込まれませんAddress。私が欲しいのは、2つの埋め込みAddressインスタンスで、それぞれの列名が区別されるか、接頭辞(自宅や職場など)が前に付けられます。私は知っていますが@AttributeOverrides、これには各属性を個別にオーバーライドする必要があります。Address各列を個別にオーバーライドする必要があるため、埋め込みオブジェクト()が大きくなると、これは面倒になる可能性があります。

13
休止状態のログコンソール出力をオフにする
hibernate 3を使用していて、すべての起動メッセージがコンソールにダンプされないようにしたい。log4j.propertiesのstdout行をコメントアウトしようとしましたが、うまくいきませんでした。以下にログファイルを貼り付けました。また、標準のプロジェクト構造でeclipseを使用しており、プロジェクトフォルダーのルートとbinフォルダーの両方にlog4j.propertiesのコピーがあります。 ###ログメッセージをstdout ###に転送します #log4j.appender.stdout = org.apache.log4j.ConsoleAppender #log4j.appender.stdout.Target = System.out #log4j.appender.stdout.layout = org.apache.log4j.PatternLayout #log4j.appender.stdout.layout.ConversionPattern =%d {ABSOLUTE}%5p%c {1}:%L-%m%n ###メッセージをファイルhibernate.logに送信します### log4j.appender.file = org.apache.log4j.FileAppender log4j.appender.file.File = hibernate.log log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern =%d {ABSOLUTE}%5p%c {1}:%L-%m%n ###ログレベルを設定します-より詳細なログを取得するには、「info」を「debug」に変更します### log4j.rootLogger = warn、stdout #log4j.logger.org.hibernate = info log4j.logger.org.hibernate = debug ###ログHQLクエリパーサーアクティビティ #log4j.logger.org.hibernate.hql.ast.AST = debug ### SQLのみをログに記録する #log4j.logger.org.hibernate.SQL = debug …

1
JPAの複数の固有の制約
JPAを使用して、異なる列のセットに複数の一意の制約があることを指定する方法はありますか? @Entity @Table(name="person", uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"})) public class Person { // Unique on code and uid public String code; public String uid; // Unique on username public String username; public String name; public String email; } Hibernate固有のアノテーションを見たことがありますが、Hibernateとdatanucleusのどちらを使用するかをまだ決定しているため、ベンダー固有のソリューションを避けようとしています。

14
フェッチされていないレイジーオブジェクトでのJacksonシリアル化を回避する
Userオブジェクトを返す単純なコントローラーがあります。このユーザーには、休止状態のプロパティFetchType.LAZYを持つ属性座標があります。 このユーザーを取得しようとすると、ユーザーオブジェクトを取得するために常にすべての座標をロードする必要があります。そうしないと、Jacksonがユーザーをシリアル化しようとすると例外がスローされます。 com.fasterxml.jackson.databind.JsonMappingException:プロキシを初期化できませんでした-セッションがありません これは、ジャクソンがこのフェッチされていないオブジェクトをフェッチしようとしているためです。オブジェクトは次のとおりです。 public class User{ @OneToMany(fetch = FetchType.LAZY, mappedBy = "user") @JsonManagedReference("user-coordinate") private List&lt;Coordinate&gt; coordinates; } public class Coordinate { @ManyToOne @JoinColumn(name = "user_id", nullable = false) @JsonBackReference("user-coordinate") private User user; } そしてコントローラー: @RequestMapping(value = "/user/{username}", method=RequestMethod.GET) public @ResponseBody User getUser(@PathVariable String username) { User user = userService.getUser(username); …

3
JPA:@JoinColumnと@PrimaryKeyJoinColumnの違いは?
間の正確な違いは何だ@JoinColumnとは@PrimaryKeyJoinColumn? @JoinColumn外部キーの一部である列に使用します。典型的な列は次のようになります(たとえば、追加の属性を持つ結合テーブルの場合)。 @ManyToOne @JoinColumn(name = "...") private OtherClass oc; 列をPK(別名識別関係)にも昇格させるとどうなりますか?列がPKになっているので、@Id次のタグを付ける必要があります。 @Id @ManyToOne @JoinColumn(name = "...") private OtherClass oc; 今の質問は: ある@Id+@JoinColumnちょうど同じ@PrimaryKeyJoinColumn?: @ManyToOne @PrimaryKeyJoinColumn(name = "...") private OtherClass oc; そうでない場合、何の@PrimaryKeyJoinColumnためにありますか?

2
クエリで結合フェッチが指定されましたが、フェッチされた関連付けの所有者が選択リストに存在しませんでした
2つのid列を選択していますが、エラーが指定されています: org.hibernate.QueryException: **query specified join fetching, but the owner of the fetched association was not present in the select list** [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=r,role=null,tableName=REVISIONS,tableAlias=revision1_,origin=ENTITY_CHANGED_IN_REVISION entitychan0_,columns={entitychan0_.REV_ID ,className=ru.csbi.registry.domain.envers.Revision}}] [ select ec.id as entityChangeId, r.id as revisionId from ru.csbi.registry.domain.envers.EntityChange as ec inner join fetch ec.revision as r where ec.groupEntityId = …
83 hibernate  join  fetch 

7
not-nullプロパティは、nullまたは一時的な値を参照します
親/子オブジェクトをHibernateで保存する際に問題に直面しています。どんなアイデアでも大歓迎です。 org.hibernate.PropertyValueException: not-null property references a null or transient value: example.forms.InvoiceItem.invoice at org.hibernate.engine.Nullability.checkNullability(Nullability.java:100) .... (truncated) Hibernateマッピング: &lt;hibernate-mapping package="example.forms"&gt; &lt;class name="Invoice" table="Invoices"&gt; &lt;id name="id" type="long"&gt; &lt;generator class="native" /&gt; &lt;/id&gt; &lt;property name="invDate" type="timestamp" /&gt; &lt;property name="customerId" type="int" /&gt; &lt;set cascade="all" inverse="true" lazy="true" name="items" order-by="id"&gt; &lt;key column="invoiceId" /&gt; &lt;one-to-many class="InvoiceItem" /&gt; &lt;/set&gt; &lt;/class&gt; …
83 hibernate 

2
Hibernateでの列挙
DAOに、値がJava列挙から取得されるフィールドがあると便利なことがよくあります。典型的な例はログインDAOで、通常、ユーザーを「NORMAL」または「ADMIN」として特徴付けるフィールドがあります。Hibernateでは、次の2つのオブジェクトを使用して、この関係を(半)タイプセーフな方法で表現します。 class User { String username; String passwd; UserType type; } class UserType { private enum Type {ADMIN, NORMAL}; private String type; //Setters/Getters for Hibernate public void setType(String type); public String getType(); //Setters/Getters for user public void setUserType(UserType.Type t); public UserType.Type getUserType(); public static UserType fromType(UserType.Type t); } これは機能しますが、UserTypeクラスが不格好で、いくつかの値を格納するためだけに官僚主義が多すぎることがわかりました。理想的には、Hibernateは列挙型フィールドを直接サポートし、列挙値を格納するための追加のテーブルを作成する必要があります。 私の質問は:Hibernateで列挙型クラスを直接マップする方法はありますか?そうでない場合、列挙を表すための私のパターンは十分に良いですか、それとも何かが欠けていますか?人々は他にどのようなパターンを使用していますか?
82 java  hibernate  dao 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.