問題タブ [spring-data-jpa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
11096 参照

spring - デフォルトの Spring Data JPA メソッドに QueryHints を追加するには?

以下のようなカスタム クエリ メソッドに、Spring Data JPA でクエリ キャッシュを使用できます。

ただし、findAll() などの既存の親メソッドに @QueryHints を追加する方法は?

ありがとう。

0 投票する
1 に答える
8176 参照

java - Spring 3.1.0 での Spring Data JPA の使用

Spring Data JPA を使用して Spring 3.1.0/3.1.1 を使用する方法を知っている人はいますか?

Spring Data JPA 1.0.3 は spring 3.0.5 に依存しているため、依存関係として spring data jpa を追加するとすぐに、3.1.0 を使用しているため競合が発生します。

私はMavenの除外を使用してみましたが、あまり成功していません。

0 投票する
1 に答える
1488 参照

spring - Merging Persistence Unit Manager の使用後に Hibernate Event Listener が呼び出されない

プロジェクトへの依存関係として開発および追加されたコンポーネントがあります...そのコンポーネントで指定されたエンティティを使用する必要があり、そのためにはSpring data-jpaプロジェクトのMergingPersistenceUnitManagerを使用する必要がありました。このコンポーネントは、それが使用されている親プロジェクトと同じ unitName を持つ persistence.xml を定義します。現在、2 つの persistence.xml ファイルがあり、どちらも MergingPersistenceUnitManager を使用して EntityManagerFactory の作成中に読み込まれます。

すべてが正常に機能し、コンテナの起動時にエンティティが読み込まれて検出されます...ただし、ここで直面する問題は、宣言された休止状態のリスナーがまったく呼び出されないことです..それらは呼び出されないようで、動作することを確認しましたコンポーネントを削除し、persistence.xml ファイルが 1 つしかない場合。

2番目のpersistence.xmlはこれだけです

MergingPersistenceUnitManager の使用を開始した後、リスナーが呼び出されないことに気付きました...これは、そのうちの 1 つのスニペットです。

どんな助けでも大歓迎です。多分私は何か基本的なものを見逃しています。依存関係が適切に構成されている。

0 投票する
3 に答える
4377 参照

spring - Spring Data JPA を使用した複数のデータベース

プロジェクト内の 2 つのデータベースで Spring Data JPA を使用しようとしています。しかし、アプリケーションを実行しようとすると例外が発生します:

これが私のapplicationContext.xmlです

これが私のDAOインターフェースです:

@PersistenceContext についてよく読んだことがありますが、JpaRepository の使用法を見たことはありません。

0 投票する
4 に答える
19113 参照

java - Spring Data JPA : 抽象リポジトリの作成

次のクラスがあるとします。

JPAリポジトリを構成することは何とか可能Animalですか?

私はもう試した

ただし、これは次の場合に失敗します。

java.lang.IllegalArgumentException: 管理型ではありません: Animal

これを設定する方法はありますか?

次のようなタスクを実行できるようにしたいと考えています。

0 投票する
0 に答える
1164 参照

java - Spring-data-jpa、Hibernate の間違った SQL クエリが例外ではなく null を返す

永続化のために spring-data-jpa を使用し、永続化エンジンとして Hibernate を使用し、データベース システムとして Postgresql 9.1 を使用する Spring 3.1 プロジェクトがあります。
jpa アノテーション付きドメイン オブジェクト ( Passport) を作成し、対応する基本的な CRUD 機能をrepository拡張します。 テスト目的で、単純な JUnit テスト クラス (以下を参照) を作成して、データベースからの Passport オブジェクトのロードをテストしました。JpaRepository

そのプライマリ ID を持つパスポート オブジェクトがデータベースに存在するにもかかわらず、 がnullから返されたため、テストを実行すると失敗します。findOne(1L)出力ログを確認しました:

パスポートを取得するための SQL クエリをテストしたところ、データベースのテーブル名がクラス名と一致しないことに気付きました (基本的に@Table、クラスで注釈を指定するのを忘れていましたPassport)。

質問: SQL クエリが失敗したときに、返される代わりに Hibernate/spring-data-jpa が例外をスローしないのはなぜnullですか?

更新: db 接続でデータベースを指定するのを忘れていました。これを修正するとすぐに、SQL ステートメントが間違っていたときに例外も発生しました。

0 投票する
5 に答える
45330 参照

hibernate - @Queryを使用して、休止状態でSpringDataJPAのブール値を更新する

スプリングデータと休止状態を構成して実行しています。spring-dataを使用してレコードを保存できますが、何らかの理由で、テーブル内のすべてのブールフィールドを更新するクエリを実行できません。

私はこれを試しました:

私もこれを試しました:

パラメータの除算とセクションは実現しますが、テーブルに変更はありません。

ps私もmysqlデータベースを使用しています。

0 投票する
3 に答える
23581 参照

jpa - Spring JPA データの「OR」クエリ

Spring Data JPA を使用しており、リポジトリにクエリを追加しようとしています。次のような @Query アノテーションなしでクエリを作成しようとしていました。

私の目標は、次のようなクエリを作成することです。

私の問題は OR 句にあります。ブラケットがあることを確認する方法はありますか?そうでなければ、ロジックは正しくありません。ここで見つけた例: http://static.springsource.org/spring-data/data-jpa/docs/1.0.0.M1/reference/html/#jpa.query-methods.query-creation

複数の列を持つ or 句は使用しないでください。

また、オブジェクトのリストを渡す方法はありますか。たとえば、3 つの状態を持つアイテムを検索したい場合、別のクエリを作成する必要がありますが、これはうまくスケーリングできません。

ありがとう。

編集:

@Query 表記を使用して状態のリストを渡す方法を見つけました。あなたはそれを次のようにします:

次に、2 番目のパラメーターとしてリストをメソッドに渡すだけです。@Query 表記を使用せずにこれを行う方法はまだわかりません。

0 投票する
1 に答える
17992 参照

jpa - JPA 左外部結合: 空または条件

私はjpaクエリを使用していますが、適切な解決策を見つけることができます。あなたが私を助けてくれることを願っています。私のモデルの説明を始めます。会社に属するリソースがあります。同社には多くの支店があります。リソースには、いくつかのリソース所有権構成が関連付けられています。リソースの所有権は、どのブランチがリソースを使用できるか、およびこの構成が有効な期間を記述します。ただし、ブランチが指定されていない場合、リソースは会社のすべてのブランチで使用できます。

これがモデルです。ゲッターとセッターは省略

実在物

Branch Model と Company Model で重要なことは、どちらにも ID があることです。

これが私のクエリです:

私がしたいこと?会社に属し (companyId を使用)、特定のブランチ (branchId を使用) で使用できるすべてのリソースが必要です。ただし、リソースにブランチのリストがない場合 ( ResourceOwnerShipConfiguration で定義) を返す必要があります。

それが明確であることを願っています。

そのクエリを使用すると、リストとブランチを持たないリソースを取得できません。特定のブランチが関連付けられているものだけです。

前もって感謝します。

0 投票する
3 に答える
7476 参照

java - EclipseLinkエラー:エンティティクラスに主キーが指定されていません。@ Id、@ EmbeddedId、または@IdClassのいずれかを定義する必要があります

EclipseLinkをSpring(MVCおよびspring-data)バージョン3.1.1で動作させようとしていますが、最初から問題が発生しています。以下のエラーは、Tomcat(v7.0)の起動時に発生します。エラーを検索しましたが、ほとんど思いつかず、次にどこに行けばよいかわかりません。エンティティクラスでインターフェイスを使用するときに発生するこの問題についての話がいくつかありますが、ご覧のとおり、私のUser.javaクラスは何も拡張していません。

これが私のUser.javaクラスです:

そして、コンポーネントを宣言するroot-context.xmlファイルがあります。