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

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

7
休止状態の問題-「マッピングされていないクラスをターゲットとする@OneToManyまたは@ManyToManyの使用」
私はHibernate Annotationsで足を見つけています。問題が発生しました。誰かが手伝ってくれるといいのですが。 SectionとScopeTopicの2つのエンティティがあります。セクションにはListクラスのメンバーがあるため、1対多の関係です。単体テストを実行すると、次の例外が発生します。 マップされていないクラスを対象とする@OneToManyまたは@ManyToManyの使用:com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic] このエラーは、ScopeTopicエンティティがテーブルにマップされていないことを示していると思いますか?私は間違ったことを見ることができません。エンティティクラスは次のとおりです。 @Entity public class Section { private Long id; private List<ScopeTopic> scopeTopics; public Section() {} @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } @OneToMany @JoinTable(name = "section_scope", joinColumns = {@JoinColumn(name="section_id")}, inverseJoinColumns = {@JoinColumn(name="scope_topic_id")} ) public List<ScopeTopic> …
113 hibernate  jpa 

8
JPAの熱心なフェッチが参加しない
JPAのフェッチ戦略は正確には何を制御しますか?熱心なものと怠惰なものの違いを検出できません。どちらの場合も、JPA / Hibernateは多対1の関係を自動的に結合しません。 例:人は単一の住所を持っています。アドレスは多くの人に属することができます。JPAアノテーション付きエンティティクラスは次のようになります。 @Entity public class Person { @Id public Integer id; public String name; @ManyToOne(fetch=FetchType.LAZY or EAGER) public Address address; } @Entity public class Address { @Id public Integer id; public String name; } JPAクエリを使用する場合: select p from Person p where ... JPA / Hibernateは、Personテーブルから選択する1つのSQLクエリを生成し、次に各個人の個別のアドレスクエリを生成します。 select ... from …
112 java  hibernate  jpa  join 

11
persistence.xmlに<class>要素が必要ですか?
私は非常に単純なpersistance.xmlファイルを持っています: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"&gt; &lt;class&gt;pl.michalmech.eventractor.domain.User&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Address&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.City&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Country&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.hbm2ddl.auto" value="validate" /&gt; &lt;property name="hibernate.show_sql" value="true" /&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; そしてそれは動作します。 しかし、&lt;class&gt;要素を削除すると、アプリケーションにエンティティが表示されません(すべてのクラスにはで注釈が付けられます@Entity)。 @Entityクラスをスキャンする自動メカニズムはありますか?
110 java  hibernate  orm  jpa  annotations 

9
春のJpaRepositoryでの%Like%クエリ
同様のクエリを記述したいのですJpaRepositoryが、何も返されません。 LIKE '%place%'-動いていない。 LIKE 'place' 完璧に動作します。 これが私のコードです: @Repository("registerUserRepository") public interface RegisterUserRepository extendsJpaRepository&lt;Registration,Long&gt; { @Query("Select c from Registration c where c.place like :place") List&lt;Registration&gt; findByPlaceContaining(@Param("place")String place); }

3
JPA / Hibernateでのflush()の正しい使用
私はflush()メソッドに関する情報を収集していましたが、それをいつ使用し、どのように正しく使用するかについては明確ではありません。私が読んだことから、私の理解は、永続化コンテキストの内容がデータベースと同期される、つまり、未解決のステートメントを発行したりエンティティデータを更新したりすることです。 今、私は2つのエンティティAとB(1対1の関係で、JPAによって強制またはモデル化されていない)以下のシナリオを取得しました。A手動で設定される複合PKがあり、自動生成されたIDENTITYフィールドもありますrecordId。これrecordIdはへBの外部キーとしてエンティティに書き込む必要がありますA。私は、1つのトランザクションで保存AしBています。問題は、自動生成された値があることをA.recordId、私はの明示的な呼び出しを行う場合を除き、トランザクション内では使用できませんem.flush()呼び出した後em.persist()にA。(自動生成されたIDENTITY PKがある場合、値はエンティティで直接更新されますが、ここではそうではありません。) em.flush()トランザクション内で使用すると害が生じる可能性がありますか?

9
永続化コンテキストとは何ですか?
Javaの世界とJPAは初めてです。私はJPAを勉強していて、エンティティ、永続性などの多くの新しい用語に出くわしました。読んでいる間、永続コンテキストの正確な定義を理解できませんでした。 誰でも簡単に平易に説明できますか?で使用されているデータとは何@Entityですか? たとえば、この定義は複雑すぎて理解できません。 永続コンテキストは、永続的なIDに対して一意のエンティティインスタンスが存在するようなエンティティのセットです。
109 java  jpa  orm  persistence 

4
JPAで複合主キーを作成して処理する方法
同じデータエントリのバージョンが欲しいのですが。つまり、別のバージョン番号でエントリを複製したいのです。 id - Version 主キーになります。 エンティティはどのように見えますか?別のバージョンとどのように複製できますか? id Version ColumnA 1 0 Some data 1 1 Some Other data 2 0 Data 2. Entry 2 1 Data

2
JPQL IN句:Java配列(またはリスト、セット…)?
データベースから、小さいが任意の数の値のいずれかにテキストタグが設定されているすべてのオブジェクトをロードしたいと思います。SQLでこれを行う論理的な方法は、 "IN"句を作成することです。JPQLではINを使用できますが、すべてのパラメーターをINに直接指定する必要があるようです( "in(:in1、:in2、:in3)"など)。 IN句の値に展開する必要がある配列またはリスト(またはその他のコンテナー)を指定する方法はありますか?
108 sql  orm  jpa  jpql  named-query 

5
エンティティマネージャーがある場合、セッションオブジェクトを取得するにはどうすればよいですか?
私が持っています private EntityManager em; public List getAll(DetachedCriteria detachedCriteria) { return detachedCriteria.getExecutableCriteria("....").list(); } entitymanagerを使用している場合にセッションを取得するにはどうすればよいですか、または分離された基準から結果を取得するにはどうすればよいですか?

9
Hibernate Open Session in Viewが悪い習慣と見なされるのはなぜですか?
そして、LazyLoadExceptionsを回避するためにどのような代替戦略を使用しますか? 表示中の開いているセッションに次の問題があることを理解しています: 異なるjvmで実行されている階層化アプリケーション トランザクションは最後にのみコミットされ、おそらく前に結果が欲しいでしょう。 しかし、アプリケーションが単一のvmで実行されていることがわかっている場合は、オープンセッションインビュー戦略を使用して痛みを和らげてみませんか?

13
Spring BootのデフォルトのH2 JDBC接続(およびH2コンソール)
私は単に、application.propertiesで何も指定せず、mvn spring:runで開始すると、spring-bootが作成する組み込みH2データベースのH2データベースコンテンツを表示しようとしています。hibernate JPAがテーブルを作成しているのを確認できますが、データベースの下のURLでh2コンソールにアクセスしようとすると、データベースにテーブルがありません。 http://localhost:8080/console/ 次のような提案が 表示されます。Springによって開始された埋め込みH2データベースのコンテンツを表示します しかし、提案されたXMLをスプリングブートのどこに配置すればよいかわからないので、外部データベースが構成されているときにh2consoleを使用可能にしたくないので、これを処理する必要がある可能性が高くなります。ある種の条件付きコードを使用する(または、Mavenプロファイルがアクティブ化されているときにH2のみを含める最も理想的なケースでは、Springが自動的に処理できるようにする)。 ブート時にH2コンソールを機能させる方法(およびSpringが使用しているjdbc接続文字列を確認する方法)を示すサンプルコードはありますか?
107 java  spring  jpa  h2  spring-boot 

11
JPAとHibernateを使用して日付/時刻とタイムスタンプをUTCタイムゾーンに保存する方法
JPA / Hibernateを構成して、日付/時刻をデータベースにUTC(GMT)タイムゾーンとして保存するにはどうすればよいですか?この注釈付きのJPAエンティティを考えてみます。 public class Event { @Id public int id; @Temporal(TemporalType.TIMESTAMP) public java.util.Date date; } 日付が2008-Feb-03 9:30 am太平洋標準時(PST)の場合、2008-Feb-03 5:30 pmのUTC時刻をデータベースに保存します。同様に、データベースから日付を取得するときは、UTCとして解釈してほしい。したがって、この場合、530pmは530pm UTCです。表示されると、午前9時30分PSTとしてフォーマットされます。

10
MYSQL自動インクリメントフィールドにJPAアノテーションを付ける方法
端的に言うと、問題はオブジェクトオペレーターをMySQL DBに保存することです。保存する前に、このテーブルから選択してみます。それが機能するので、dbへの接続も同様です。 ここに私のOperatorオブジェクトがあります: @Entity public class Operator{ @Id @GeneratedValue private Long id; private String username; private String password; private Integer active; //Getters and setters... } 保存するには、JPA EntityManagerのpersistメソッドを使用します。 ここにいくつかのログがあります: Hibernate: insert into Operator (active, password, username, id) values (?, ?, ?, ?) com.mysql.jdbc.JDBC4PreparedStatement@15724a0: insert into Operator (active,password, username, id) values (0, …
105 java  mysql  orm  jpa  annotations 

12
JPAを使用してJavaの日付をMysqlの日時に格納する方法
Java DateをMysql datetimeに保存するにはどうすればよいですか? 私がそうしようとすると...日付のみが保存され、時間がMysql日付ストアに00:00:00のまま残ります... 2009-09-22 00:00:00 日付だけでなく時間も欲しい...みたい 2009-09-22 08:08:11 Spring mydomainクラスでJPA(Hibernate)を使用していますが、java.util.Dateを使用していますが、手書きのクエリを使用してテーブルを作成しています... これは私の作成文です CREATE TABLE ContactUs (id BIGINT auto_increment, userName VARCHAR(30), email VARCHAR(50), subject VARCHAR(100), message VARCHAR(1024), messageType VARCHAR(15), contactUsTime datetime, primary key(id)) TYPE=InnoDB;
104 java  mysql  datetime  jpa 

4
計算されたプロパティをJPAおよびHibernateでマップする方法
私のJava BeanにはchildCountプロパティがあります。このプロパティはデータベースの列にマップされていません。代わりに、Java Beanとその子の結合で動作するCOUNT()関数を使用して、データベースで計算する必要があります。このプロパティをオンデマンドで/「遅延」で計算できればさらに良いでしょうが、これは必須ではありません。 最悪のシナリオでは、このBeanのプロパティをHQLまたはCriteria APIで設定できますが、設定しない方がよいでしょう。 Hibernate @Formulaアノテーションは役立つかもしれませんが、ドキュメントをほとんど見つけることができませんでした。 どんな助けも大歓迎です。ありがとう。

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