問題タブ [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.
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 クエリを思いつきました。
spring-data-jpa - spring data jpa と spring batch admin を統合する際のエラー
私はSpring Batch AdminでSpring Data JPAを使用しています.application-context.xmlとpersistance.xmlを設定しました.Tomcatでこれを実行すると、このエラーが発生しました.
jpa-2.0 - 仕様と異なる spring-data-jpa カウント
spring-date-jpa で、仕様に query.distinct(true) が含まれていると、count(Specification) メソッドのカウント クエリが正しくないことがわかります。生成された SQL は次のようになります。
個別カウント(*) を選択 ...
それ以外の
select count(distinct(*)) ...
その投稿: spring-source-forum 回避策は、spring-data-jpa のソース コードを変更することでした。
他の解決策はありますか?
spring - Spring データ JPA 仕様 - @OneToMany 依存関係
SpringデータJPA仕様を使用してエンティティPersonからリストを取得する際に問題があります(ページネーションのため)。個人ごとにすべてのメモを取得する必要がありますが、これら 2 つのエンティティ間の依存関係は個人側にあります。Note には Person に関連する属性が含まれていないため、Predicate の作成方法がわかりません。
Persons getter を使用して List を取得することはできますが、返されたデータをページ分割する必要があるため、この方法は使用できません。
通常はこのように記述しますが、Note に person という属性がなく、この段階でデータベースを再マップすることはできません。
ありがとう、ズデント
java - JpaRepository、@ Transaction、およびrepository.saveAndFlush
私はサービス/リポジトリのアプローチに最初の亀裂を入れており、問題に直面しています。基本的に、サービスで実行したいのは、エンティティを永続化し、同じサービスメソッドでそのIDを使用することです。
もともとは@GeneratedValueとSequencesを使用するつもりでしたが、あきらめてエンティティを手動でフラッシュし、IDを取得することに決めました。これは簡単だと思いました。
MyRepositoryはSpringDataを使用するインターフェースであるため、手動フラッシュをサポートしています。私が理解しているように、@Transactionalという注釈も付けられています。MyServiceメソッドにも@Transactionalという注釈が付けられています。
私が見つけたのは、エンティティを保存した直後にフラッシュした場合でも(または、saveAndFlushを使用した場合でも)、Serviceメソッドが戻ったときにのみエンティティが保持されることです。フラッシュするとDBの変更が強制されると思いましたか?
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。
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 アノテーションを使用する既存のコードを持つアプリケーションでクロスストア プラグインを使用する方法に関するガイダンスはありますか?
spring - レコードがデータベースに2回投稿されるのはなぜですか?
レコードがデータベースに2回投稿される理由を教えてください。おもう。これは、save()メソッドを使用しているために発生します。しかし、マスターエンティティと依存エンティティを別々に保存するべきではありませんか?
サービス:
モデル:
spring-data-jpa - JPAは「true」を1に置き換えます
永続性プロバイダーとしてHibernateでSpringDataJPAを使用しています。PostgreSQL9.1.5は私のデータベースです。
クエリ:
自動的に翻訳されます
ご覧のとおり、「true」は「1」に置き換えられています。Postgreはこのクエリを受け入れず、エラーがスローされます。
置換なしのクエリは正常に機能します。pgadminクエリインターフェイスでは、次のクエリが機能します。
この問題を解決するにはどうすればよいですか?
spring - SpringデータCrudRepositoryが存在します
インターフェイスを拡張すると、サブCrudRepository
インターフェイスにexists(ID)
メソッドがあります。メソッドを書くことができfindBy<property>
ます。
existBy<property>
を返すメソッドをどうにかして書くことは可能ですかboolean
?または、で注釈を付けて、@Query(jpa query)
が返されるようにしboolean
ます。
select count(*)
実行して戻ることができることはわかっていますが、サービスレイヤーをチェックインするlong
必要があります。!=0