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

Java Persistence API(JPA)は、Javaオブジェクト/クラスとリレーショナルデータベース間のデータへのアクセス、永続化、および管理のためのJava仕様です。これはEJB 3.0仕様の一部であり、オブジェクトからリレーショナルへのマッピング(ORM)の業界標準アプローチです。

5
EntityManager.find()とEntityManager.getReference()をJPAで使用する場合
EntityManager.getReference(LObj.getClass()、LObj.getId())を使用してデータベースエンティティを取得し、返されたオブジェクトを別のテーブルに永続化されます。 つまり、基本的には次のような流れでした。 クラスTFacade { createT(FObj、AObj){ T TObj = new T(); TObj.setF(FObj); TObj.setA(AObj); ... EntityManager.persist(TObj); ... L LObj = A.getL(); FObj.setL(LObj); FFacade.editF(FObj); } } @ TransactionAttributeType.REQUIRES_NEW クラスFFacade { editF(FObj){ L LObj = FObj.getL(); LObj = EntityManager.getReference(LObj.getClass()、LObj.getId()); ... EntityManager.merge(FObj); ... FLHFacade.create(FObj、LObj); } } @ TransactionAttributeType.REQUIRED クラスFLHFacade { createFLH(FObj、LObj){ FLH FLHObj =新しいFLH(); FLHObj.setF(FObj); …

2
JPAを使用してMap <String、String>を格納する
アノテーションをattributes使用して、JPA2を使用して次のクラスでマップを永続化することが可能かどうか疑問に思っています public class Example { long id; // .... Map&lt;String, String&gt; attributes = new HashMap&lt;String, String&gt;(); // .... } すでに既存の本番データベースがあるので、理想的にはの値をattributes 次の既存のテーブルにマッピングできます。 create table example_attributes { example_id bigint, name varchar(100), value varchar(100));
103 java  jpa  orm  jpa-2.0 



4
JPAとHibernateを使用する場合のID生成戦略の選択方法
HibernateリファレンスガイドのId生成セクションと「HibernateでのJava永続化」を行っていました HibernateとJPAを組み合わせて使用​​できるオプションはかなりあります。 特定のID生成戦略を選択する方法に関する詳細なドキュメントを探していました。 また、転換点を探しています。 たとえば、ヒロ戦略は競合を減らすことが期待されています。この選択にはトレードオフがあるはずだと思います。 私はトレードオフについて教育を受けたいです。 利用可能な文献はありますか?

4
Spring Data JPA埋め込みオブジェクトプロパティによる検索
Spring Data JPAリポジトリインターフェイスメソッドシグネチャを記述して、そのエンティティに埋め込まれたオブジェクトのプロパティを持つエンティティを検索できるようにします。これが可能かどうか、そして可能であればどうすればいいですか? これが私のコードです: @Entity @Table(name = "BOOK_UPDATE_QUEUE", indexes = { uniqueConstraints = @UniqueConstraint(columnNames = { "bookId", "region" }, name = "UK01_BOOK_UPDATE_QUEUE")) public class QueuedBook implements Serializable { @Embedded @NotNull private BookId bookId; ... } @Embeddable public class BookId implements Serializable { @NotNull @Size(min=1, max=40) private String bookId; @NotNull @Enumerated(EnumType.STRING) …

7
Hibernate:エンティティークラスに基づくdbテーブルの自動作成/更新
次のエンティティークラスがあります(Groovy内): import javax.persistence.Entity import javax.persistence.Id import javax.persistence.GeneratedValue import javax.persistence.GenerationType @Entity public class ServerNode { @Id @GeneratedValue(strategy = GenerationType.AUTO) Long id String firstName String lastName } そして私のpersistence.xml: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"&gt; &lt;persistence-unit name="NewPersistenceUnit"&gt; &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt; &lt;properties&gt; &lt;property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/Icarus"/&gt; &lt;property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/&gt; &lt;property name="hibernate.connection.username" value="root"/&gt; &lt;property name="hibernate.connection.password" value=""/&gt; &lt;property name="hibernate.archive.autodetection" …
101 java  mysql  hibernate  jpa  groovy 


2
JPA:同じエンティティタイプの1対多の関係を作成する方法
エンティティクラス「A」があります。クラスAには、同じタイプ「A」の子がある場合があります。また、「A」は、子の場合は親を保持する必要があります。 これは可能ですか?もしそうなら、どのようにエンティティクラスの関係をマッピングする必要がありますか?["A"にはid列があります。]

11
JPAを使用したインデックス(一意でないキー)の指定
たとえばemail、JPAアノテーションを使用してインデックスを持つなど、フィールドをどのように定義しますか。email文字通り何百万ものクエリが1日あたりこのフィールドにあり、キーがないと少し遅いので、一意でないキーをオンにする必要があります。 @Entity @Table(name="person", uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"})) public class Person { // Unique on code and uid public String code; public String uid; public String username; public String name; public String email; } hibernate固有のアノテーションを見てきましたが、hibernateとdatanucleusの間でまだ決定しているため、ベンダー固有のソリューションを回避しようとしています。 更新: JPA 2.1以降では、これを行うことができます。参照:この場所ではアノテーション@Indexは許可されていません

6
JPA:単方向多対1およびカスケード削除
私が持っていると言う一方向の @ManyToOne次のような関係を: @Entity public class Parent implements Serializable { @Id @GeneratedValue private long id; } @Entity public class Child implements Serializable { @Id @GeneratedValue private long id; @ManyToOne @JoinColumn private Parent parent; } Pを参照する親Pと子C 1 ... C nがある場合、JPには、Pが削除されたときに(つまり)子C 1 ... C nを自動的に削除するクリーンできれいな方法がありentityManager.remove(P)ますか? 私が探しているのは、ON DELETE CASCADESQL と同様の機能です。

6
<union-subclass>(TABLE_PER_CLASS)ではID列キー生成を使用できません
com.something.SuperClass: @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class SuperClass implements Serializable { private static final long serialVersionUID = -695503064509648117L; long confirmationCode; @Id @GeneratedValue(strategy = GenerationType.AUTO) // Causes exception!!! public long getConfirmationCode() { return confirmationCode; } public void setConfirmationCode(long confirmationCode) { this.confirmationCode = confirmationCode; } } com.something.SubClass: @Entity public abstract class …

2
@OneToMany List <>とSet <>の違い
使っても違いはありますか @OneToMany public Set&lt;Rating&gt; ratings; または私が使うなら @OneToMany public List&lt;Rating&gt; ratings; どちらも問題なく動作しますが、リストとセットの違いはわかりますが、これにより、休止状態(またはJPA 2.0)がそれを処理する方法に違いがあるかどうかはわかりません。
94 java  jpa 

7
JPAエンティティメタモデルを生成する方法
CriteriaQuery JPA 2.0に関連付けられているタイプセーフティの精神に基づいて、エンティティのメタモデル表現をサポートするAPIもあります。 このAPIの完全に機能する実装を知っている人はいますか(メタモデルクラスを手動で作成するのではなく、メタモデルを生成するため)。誰かがこれをEclipseで設定する手順も知っているとすばらしいでしょう(私は注釈プロセッサの設定と同じくらい簡単だと思いますが、あなたは決して知りません)。 編集:Hibernate JPA 2 Metamodel Generatorを偶然見つけました。しかし、jarのダウンロードリンクが見つからないため、問題は解決しません。 編集2:この質問をしてからしばらく経ちましたが、戻ってきてSourceForgeのHibernate JPA Model Generatorプロジェクトへのリンクを追加すると思いました

18
JavaおよびJPAからストアード・プロシージャーを呼び出す方法
ストアドプロシージャを呼び出してデータを取得する簡単なWebアプリケーションを作成しています。その非常にシンプルなアプリケーションは、クライアントのデータベースと対話します。従業員IDと会社IDを渡すと、ストアドプロシージャが従業員の詳細を返します。 Webアプリケーションはデータを更新/削除できず、SQL Serverを使用しています。 WebアプリケーションをJboss ASにデプロイしています。JPAを使用してストアドプロシージャまたはにアクセスする必要がありますかCallableStatement。この場合にJPAを使用する利点。 また、このストアドプロシージャを呼び出すためのSQLステートメントは何ですか。これまでにストアドプロシージャを使用したことがなく、これに苦労しています。グーグルはあまり役に立たなかった。 これがストアドプロシージャです。 CREATE procedure getEmployeeDetails (@employeeId int, @companyId int) as begin select firstName, lastName, gender, address from employee et where et.employeeId = @employeeId and et.companyId = @companyId end 更新: JPAを使用してストアドプロシージャを呼び出すときに問題が発生している他のユーザー向け。 Query query = em.createNativeQuery("{call getEmployeeDetails(?,?)}", EmployeeDetails.class) .setParameter(1, employeeId) .setParameter(2, companyId); List&lt;EmployeeDetails&gt; result = query.getResultList(); 私が気付いたこと: …

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