問題タブ [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 投票する
3 に答える
6175 参照

java - @ManyToMany JPA 2 複雑なクエリ

次の ManyToMany マッピングがあります。

class2Id = 1 および class2Id =2 および class2Id =3 で、Classe2 エンティティと関係があるすべての Class1 エンティティを取得したいと考えています。{1,2,3}

または、class2 リストにある Classe1 エンティティをフィルタリングするには、次の値を持つ Class2 エンティティをフィルタリングします: class2Id = 1 および class2Id =2 および class2Id =3

例えば:

結合テーブルの場合、次の値を取得しています。

この例の場合、結果は class1Id: 1 および 6 の Class1 になります。class1Id=1 の Class1 エンティティには classe2Id: 1,2,3, 4 との関係があり、class1Id=2 の Class1 エンティティには classe2Id: 1 との関係があるためです。 ,2,3

JPA2 (述語) で返される正しいエンティティを取得することは可能ですか?

そして、このケースを処理するためのより良いマッピングはありますか?

現時点では、次の SQL クエリを思いつきました。

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

spring-data-jpa - spring data jpa と spring batch admin を統合する際のエラー

私はSpring Batch AdminでSpring Data JPAを使用しています.application-context.xmlとpersistance.xmlを設定しました.Tomcatでこれを実行すると、このエラーが発生しました.

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

jpa-2.0 - 仕様と異なる spring-data-jpa カウント

spring-date-jpa で、仕様に query.distinct(true) が含まれていると、count(Specification) メソッドのカウント クエリが正しくないことがわかります。生成された SQL は次のようになります。

個別カウント(*) を選択 ...

それ以外の

select count(distinct(*)) ...

その投稿: spring-source-forum 回避策は、spring-data-jpa のソース コードを変更することでした。

他の解決策はありますか?

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

spring - Spring データ JPA 仕様 - @OneToMany 依存関係

SpringデータJPA仕様を使用してエンティティPersonからリストを取得する際に問題があります(ページネーションのため)。個人ごとにすべてのメモを取得する必要がありますが、これら 2 つのエンティティ間の依存関係は個人側にあります。Note には Person に関連する属性が含まれていないため、Predicate の作成方法がわかりません。

Persons getter を使用して List を取得することはできますが、返されたデータをページ分割する必要があるため、この方法は使用できません。

通常はこのように記述しますが、Note に person という属性がなく、この段階でデータベースを再マップすることはできません。

ありがとう、ズデント

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

java - JpaRepository、@ Transaction、およびrepository.saveAndFlush

私はサービス/リポジトリのアプローチに最初の亀裂を入れており、問題に直面しています。基本的に、サービスで実行したいのは、エンティティを永続化し、同じサービスメソッドでそのIDを使用することです。

もともとは@GeneratedValueとSequencesを使用するつもりでしたが、あきらめてエンティティを手動でフラッシュし、IDを取得することに決めました。これは簡単だと思いました。

MyRepositoryはSpringDataを使用するインターフェースであるため、手動フラッシュをサポートしています。私が理解しているように、@Transactionalという注釈も付けられています。MyServiceメソッドにも@Transactionalという注釈が付けられています。

私が見つけたのは、エンティティを保存した直後にフラッシュした場合でも(または、saveAndFlushを使用した場合でも)、Serviceメソッドが戻ったときにのみエンティティが保持されることです。フラッシュするとDBの変更が強制されると思いましたか?

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

spring - 複数のエンティティのリポジトリを作成するにはどうすればよいですか?

トピックやコメントをホストする簡単なWebサイトを作成しようとしています。私はトピックから始めて、それらのリポジトリを作成しました:

そして、servlet-context.xmlでリポジトリのパスを定義しました。

ここで、コメントをリポジトリに含めたいのですが、次のコードが機能しません。

私のプロジェクトは構築されていません。複数のエンティティのリポジトリを作成する方法(トピッククラスとコメントクラスは@Entityで宣言されています)についてアドバイスをいただけますか?

私が好きなこと:

  • TopicRepositoryクラスアイコンにHDDの写真があります
  • CommentRepositoryクラスアイコンに疑問符があります
  • エラーログ(巨大なもの):

org.springframework.beans.factory.BeanCreationException:「org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0」という名前のBeanの作成中にエラーが発生しました:Beanの初期化に失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:「topicController」という名前のBeanの作成中にエラーが発生しました:自動配線された依存関係の挿入に失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドを自動配線できませんでした:private com.epam.mvc3.service.CommentService com.epam.mvc3.controller.TopicController.commentService; ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:「commentService」という名前のBeanの作成中にエラーが発生しました:自動配線された依存関係の注入に失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドを自動配線できませんでした:private com.epam.mvc3.repository.CommentRepository com.epam.mvc3.service.CommentService.commentRepository; ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:「commentRepository」という名前のBeanの作成中にエラーが発生しました:FactoryBeanがオブジェクトの作成時に例外をスローしました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:タイプクラスcom.epam.mvc3.model.Commentorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)org.springframework.beansのプロパティが見つかりません.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:293)org.springframework.beans。

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

java - Spring Data MongoDB Cross-Store プラグインと JPA PrePersist および PreUpdate

次の設定のアプリケーションがあります。

Java 6.0 Spring Data JPA 1.1.0.RELEASE Spring Data MongoDB 1.0.2.RELEASE Spring Data MongoDB Cross-Store 1.0.2.RELEASE Hibernate JPA 2.0

このアプリケーションには、JPA PrePersist、PreUpdate、PostPersist、および PostUpdate アノテーションを使用するいくつかのクラスがあります。以下に例を示します。

クロスストア プラグインの AspectJ ウィービングを有効にするとすぐに、Spring アプリケーション コンテキストがエラーでロードに失敗します。

エラーの根本的な原因は、Aspect MongoDocumentBacking が追加の PrePersist メソッドと PreUpdate メソッドをエンティティ クラスに織り込んでいることであることがわかりました。クラスにはこれらのアノテーションを持つメソッドがすでにあるため、Hibernate Entity Manager はこれらのクラスの検証に失敗します。

JPA アノテーションを使用する既存のコードを持つアプリケーションでクロスストア プラグインを使用する方法に関するガイダンスはありますか?

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

spring - レコードがデータベースに2回投稿されるのはなぜですか?

レコードがデータベースに2回投稿される理由を教えてください。おもう。これは、save()メソッドを使用しているために発生します。しかし、マスターエンティティと依存エンティティを別々に保存するべきではありませんか?

サービス:

モデル:

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

spring-data-jpa - JPAは「true」を1に置き換えます

永続性プロバイダーとしてHibernateでSpringDataJPAを使用しています。PostgreSQL9.1.5は私のデータベースです。

クエリ:

自動的に翻訳されます

ご覧のとおり、「true」は「1」に置き換えられています。Postgreはこのクエリを受け入れず、エラーがスローされます。

置換なしのクエリは正常に機能します。pgadminクエリインターフェイスでは、次のクエリが機能します。

この問題を解決するにはどうすればよいですか?

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

spring - SpringデータCrudRepositoryが存在します

インターフェイスを拡張すると、サブCrudRepositoryインターフェイスにexists(ID)メソッドがあります。メソッドを書くことができfindBy<property>ます。

existBy<property>を返すメソッドをどうにかして書くことは可能ですかboolean?または、で注釈を付けて、@Query(jpa query)が返されるようにしbooleanます。

select count(*)実行して戻ることができることはわかっていますが、サービスレイヤーをチェックインするlong必要があります。!=0