問題タブ [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 に答える
5524 参照

java - JPAは2つのセカンダリテーブルを結合します

私はこれらの5つのテーブルを持っています:

JPAを使用して、次の3つのエンティティクラスを作成しました。

  1. クラスcommon.contact.City

    /li>
  2. クラスcommon.contact.State

    /li>
  3. クラスcommon.system.Language

    /li>

しかし、私がこのクエリを実行しようとしたとき

このエラーが発生します:

参考までに、次のデータが追加されています。

REF_CT

REF_CT_L

REF_ST

REF_ST_L

REF_LANGUAGE

生成されたSQLは次のとおりです。

ご協力いただきありがとうございます!

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

java - JPA リポジトリ: javax.persistence.NonUniqueResultException: 結果が複数の要素を返す

以下のコードを使用すると、クエリの結果を取得できません。使用してMap<ContentType...Map<String...同じエラーが発生しても、 javax.persistence.NonUniqueResultException: result returns more than one elements

JPAはリポジトリで複数の行を処理できるはずです。見逃している可能性のある他の注釈を探してみましたが、結果を出すのに苦労しています。

これを解決するために何をすべきかについての提案はありますか?

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

jpa - spring 3.1 を使用して jboss AS7.1 で JTA を動作させることができません

JTA トランザクションで動作するように Spring アプリケーションを構成しようとしています。失敗しているわけではありませんが、試したことはすべて選択を行うだけで、永続化操作は無視されます。

次のログでわかるように、save ステートメントが実行されても、insert ステートメントはなく、例外もエラー/警告ログもありません。

サーバーログ

これは、アプリケーション サーバーがすべてがうまくいったと考えているようなものです。テーブルをチェックすると、挿入も更新も行われませんでした。

Spring アプリケーションで使用する予定のデータソースは、同じアプリケーション サーバーで実行されている Java EE war アプリケーションによって JTA トランザクションで正常に使用されます。

どこに問題があるのか​​ わからないので、すべてを完全な文脈で説明したいと思います.

  • 春 3.1.2-RELEASE
  • 休止状態 4.1.5.Final
  • spring-data-jpa 1.1.1.Final
  • アパッチ軸1.4
  • jbos AS7.1
  • DB: オラクル 10g

私たちはそれを機能させるためにあらゆる種類のクレイジーな構成を試してきたので、ここでは最も単純なものをコピーします.

スタンドアロン.xml

web.xml

spring-jpa-config.xml

私たちは過去に jboss AS5/Spring 3.0 アプリケーションを作成して JTA トランザクションを操作していたので、これが初めてというわけではありません。見つけられるすべての可能なブログとオープン ソース プロジェクトを調べてきました。しかし、誰にとってもスムーズに機能するように見えるものはすべて、私のアプリケーションでは無視されているようです。本当にばかげた何かがどこかに欠けているはずですが、これまでに70以上の異なる構成を試しましたが、JTAを試していないときに機能する単純な挿入を行うものはありません。

(軸 1.4 を使用するという事実は、関連するかどうかはわかりませんが、私たちのアプリケーションは Web サービスの呼び出し後にのみアクションをトリガーするため、お伝えしたいと思います)。この時点で、私たちは構成の超常現象を信じ始めています...

手がかりはありますか?

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

java - JPA Data Repository の結果、データ型が失われる

以下のコードを取得してクエリ結果を表示しようとしています。残念ながら、それは機能していません。

私のサービス層では...

objectsObject[]変数デバッガーになります。使用するように指示した に従わない理由がわかりませんMap<String, Integer>

I was thinking as an alternative I could just return a list of objects. I'm trying to Google around trying to figure out what keywords to search for to find such a result. Though ideally I'd like to avoid having to create an object just for this query result if it would just return Map!

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

java - シンプルなサーブレットでSpring Data JPAを使用するには?

私はSpringを初めて使用しますが、Spring Data JPAを使用してJPAエンティティのリポジトリを生成するプロジェクトに取り組んでいます。

現在、Web ページにいくつかのデータを表示できるようにするための単純なモジュールを追加しています。サーブレットを追加しましたが、そこからリポジトリにアクセスできません。

web.xml に ContextLoaderListener を追加しました。applicationContext.xml で jpa:repositories と persistence.xml を参照していますが、現在、次の例外に悩まされています。

タイプ [javax.persistence.EntityManagerFactory] ​​の一意の Bean が定義されていません: 単一の Bean が必要ですが、0 が見つかりました。

しかし、persistence.xml に EntityManagerFactory を追加すると、次の不可解なメッセージが表示されます。

java.lang.IllegalAccessError: クラス org.hibernate.engine.spi.EJB3CascadeStyle からフィールド org.hibernate.engine.spi.CascadeStyle.STYLES にアクセスしようとしました

私の質問は、私がやろうとしていることは可能ですか? もしそうなら、どのように?それとも、弾丸を噛んで、Spring MVC などを完全に使用する必要がありますか?

注: これは 1 ページの Web サイト用であり、できるだけシンプルにしようとしています。

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

jpa - リレーションManyToOne、javax.persistence.EntityExistsException:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられています

バグの検索に多くの時間を費やしましたが、これを解決できません。私はHibernateとPostgreでSpringJPAを使用しています。LocationとApの2つのエンティティがあります。

Ap:

場所2

Apに1つの場所を追加すると機能しますが、Apに2つ以上の場所がある場合、Apエンティティを保存できません。

ApService:

エラーが発生した場合:

また、mergeメソッドとpersistメソッドを使用してEntityManagerを試しましたが、同じエラーが発生します。助けてください。

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

spring - Spring Data DomainClassConverter が機能しない (Java Config と組み合わせて)

Spring Data/JPA DomainClassConverter をセットアップして、(文字列) ID をドメイン クラス自体に自動的に変換しようとしています。

私のプロジェクトはJava Configを使用しています(したがってxmlはありません)。

私の WebConfig には、現在次のものがあります。

これを印刷すると、変換サービス内で見ることができるため、これは DomainClassConverter を正常に接続しているようです。

しかし、ネストされたフォーム (Order with Customer ref) を送信すると、Customer は自動的に変換されないため、次のようになります。

ここで何か間違ったことをしているのだろうか?

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

spring - スプリングタグSpring Data DomainClassConverter で動作しませんか?

私はSpring MVCとSpring Dataを使用しており、Spring Dataを構成DomainClassConverterして、文字列IDを適切なドメインクラスに自動的に変換します。

私は今、次を使用してタグを使用して Order to Customer 参照を実装しています。

これにより、指定された HTML が生成されます。

たとえば顧客 A を選択して投稿を送信すると、次のような例外が発生します。

受け取る値は '' ではなく 1 である必要があるため、これはまったく意味がありません。受信したリクエスト パラメータもデバッグしましたが、customer=1 しか含まれていませんでした (予想どおり)。

InvalidDataAccessApiUsageExceptionは Spring Data から来ていることに注意してくださいDomainClassConverter。このコンバーターを削除すると、問題は発生しなくなります。

DomainClassConverter私はまた、それが2回カバーしようとしているのを見ることができるものをデバッグしました。最初は文字列値 1 (予想どおり) でしたが、次に空の文字列で別の呼び出しを行ったため、例外が発生しました。

それはもっと奇妙になりますが...

<form:option value="" label="Select" />プレーンな html 要素に置き換えると<option value="">Select</option>、例外は発生しないため、文字列 1 を使用して convert メソッドが呼び出されるのは 1 回だけです。奇妙な点は、両方が同じ html 出力<form:option value="" label="Select" />を生成することです...<option value="">Select</option>

動作を説明できません...プレーンなhtml要素を使用した「回避策」があるようですが、問題の原因を知りたいです。

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

java - Spring-JPA-insert-デフォルトのスローエラーがあるフィールドに値を渡さない

テーブル内のnull許容でないフィールドの一部にはデフォルト値があります。JPAを介してテーブルに新しい行を挿入する場合、これらのフィールドに値を渡してデフォルト値を取得したくありません。ただし、Spring JPAリポジトリクラスを介して新しい行を挿入すると、null値を挿入できないというエラーが発生します。JPAがデータベースに送信する挿入ステートメントには、すべてのフィールドがリストされていることに気付きました。

field2とfield3にはnullが指定されているため、デフォルト値は割り当てられず、データベースはnull値を挿入できないというエラーをスローします。回避策はありますか?

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

inheritance - JPA 継承、Spring Roo および Spring Data JPA の設計上の問題

私は現在、Spring Roo/JPA アプリケーションに取り組んでおり、最近、JPA 継承に基づくドメイン モデルに切り替えました。ドメイン モデルを要約すると、 と のMember2 つのエンティティによってサブクラス化された抽象エンティティがMaleありFemaleます。

Maleすべての Spring MVC コントローラーで、常に 2 つのサービス依存関係 (エンティティを処理するものとエンティティを処理するもの)を注入することは避けたいと考えていFemaleます。インスタンスまたはインスタンスのいずれかを返す1 つのMemberServiceサービス (対応する と一緒に) が必要です。MemberRepositoryMaleFemale

次のような Spring Roo アノテーションを使用して、上記は可能ですか。

  • @RooService(domainTypes = { Member.class })またはそれ:
  • @RooJpaRepository(domainType = Member.class)?

たとえば、これはまたは型にキャストMember findByEmail(String email);できるオブジェクトを返しますか?FemaleMale

より一般的には、Spring コントローラーと Spring サービスのレベルでエンティティの継承を処理するためのベスト プラクティスは何ですか?