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

java - Spring Entity Bean が不明です。新しい Spring 3.1 packagesToScan プロパティを使用し、persistence.xml を使用しない

私の EclipseLink と Spring (MVC と spring-data) バージョン 3.1.1 のセットアップに関する別の質問:

この記事に従って、persistence.xml ファイルを使用せずに JPA を機能させようとしています。記事では次のように述べています。

通常、JPA は META-INF/persistence.xml ファイルを介して永続化ユニットを定義します。Spring 3.1 以降、この XML ファイルは不要になりました。LocalContainerEntityManagerFactoryBean は、@Entity クラスをスキャンするパッケージを指定できる「packagesToScan」プロパティをサポートするようになりました。

persistence.xml ファイルは、最後に削除された XML の一部でした。現在、JPA は XML なしで完全にセットアップできます。

persistence.xml ファイルを使用する場合、ここにあるすべてのエンティティ クラスをここで宣言する必要があることを理解しています。packagesToScanただし、代わりにプロパティを利用しようとしています。以下は、完全な起動ログと、最終的にデータベースに新しいユーザーを作成しようとするサーブレットに 1 つの要求を行った後に生成されたエラーです。Userオブジェクトがエンティティであることを認識していないようです。私はSpringの経験がほとんどないので、誰かが最初に私が犯している間違いを見つけることができるかどうか疑問に思っていましたが、そうでなければ、これをデバッグする最良の方法を知っています. EntityManagerFactory で認識されている Entity オブジェクトを知りたいです。

私のバックアップ オプションは、persistence.xml の使用に切り替えることです (実際にはまだ試していません) が、可能であればそれを取り除きたいです (心配する XML ファイルが 1 つ少なくなります)。

更新: Sean Patrick Floyd の回答に基づいて、entityManagerFactory に推奨される構成変更を加えた後、エラー ログを更新しましたが、主な問題は解決しませんでした。私が行ったことは、persistence.xml ファイル (これを行うための古くて一般的な方法) を作成することによってこれを機能させる別の方法を試し、これを開始するためにアクセスするサーブレット内に小さなテスト コードを追加したことです。機能。これで、サーブレットに次のコードが追加されました。

そして、このpersistence.xmlファイル:

これは実際に機能するので、EntityManagerFactory の初期化方法に問題があるのか​​ 、それともそのようなものなのか疑問に思っています。データベース関連の処理を行う UserService クラスのコードを含めました。

完全な起動ログ (エラーを含む) は次のとおりです。

root-context.xml ファイル:

User.java クラス:

ここに UserService.java があります

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

java - Oracle DATE と Hibernate/JPA のマッピング

Oracle テーブルの 1 つが次のようになります。これを変更するオプションはありません。

次のような JPA エンティティ (プロバイダーとして Hibernate を使用):

それでは、単体テストを行ってみましょう: (リポジトリに Spring Data JPA を使用しています) 以下の行は、REPORTING_PERIOD 列で DB をクエリします。

SOP の出力は2012-02-01です - データベース01-FEB-12 の値からの自動変換に注意してください

ここで、以下で行っているように、「01-FEB-12」を使用して日付で直接クエリを実行すると、結果が得られません。

前のステートメントで正常に取得できたのと同じエンティティの日付フィールドを使用していることに注意してください。

これも機能しません:

db の値が 01-FEB-12 の場合、パラメータとして REPORTING_DATE を使用して (HQL を使用しても問題ありません) クエリを実行する方法についてのヘルプをいただければ幸いです。

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

java - Spring Data Jpa - tests フォルダー内のファイルをスキャンします

Spring Data JPA を使用していますが、奇妙ですが、(デプロイ中に) テスト ファイルをスキャンしようとするため、エラーが発生します。

classnotfoundexception は、テストの依存関係が Maven の「テスト」スコープにあるためです。

しかし、私の質問は、なぜテスト フォルダーをスキャンしているのかということです。(/src/main/test)。

コンテキスト構成は次のとおりです。

私が間違っていることを教えてもらえますか?私の .classpath コンテンツは次のとおりです。

ご協力いただき、誠にありがとうございます。

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

java - コレクションには @Query が含まれています

@Queryタグで「contains」関数を使用する方法はありますか? いいえの場合、これを実装する最良の方法は何ですか?

例:

Userクラスには、をCollection含む がありRolesます。

編集:私が提案したように、アプリケーションは起動しますが、このメソッドが実行されると、「期待されるタイプと一致しません」という例外が発生します。

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

spring - Spring + SpringDataJPA構成

現在、私はSpringのセットアップをいじっています。私の目標は、JPAを使用して、JNDI名を使用してWebsphereデータソースにアクセスすることです。私はSpringDataJPAを使用して生活を楽にし、いくつかのチュートリアルを実行して基本的なアイデアを得ています。

悪いこと:それらのどれも私のJPAszenarioのSpring構成について話していません+私はこれまでJPA/JDBCを使ったことがありませんでした。だから私はあなたがここで私を助けてくれることを願っています。2つの構成ファイルを取得しました:

applicationContext.xml

コード内で@Transactualアノテーションを使用しているため、txManagerにアノテーション駆動型タグを使用しています。txManagerに他に何を設定する必要があるのか​​、sessionFactoryタグが何をしているのかよくわかりません。サポートされているすべてのXMLタグのドキュメントはありますか?szenarioの重要なタグがありませんか?

eManagerについても同じです-それが正しいかどうかはわかりません。

persistence.xml

ここでも同じことが言えます。私が何をしているのかよくわかりません。永続性ユニット/プロバイダーが必要なことはわかっています。多くの人がこれにHibernateを使用していることは知っていますが、ネイティブのままで、可能であれば純粋なJavaEE/Springを使用したいと思います。設定方法がわかりません。現在、私のプロジェクトはクラッシュしていて、「JPAPersistenceProviderがnullを返しました」と言っています。

0 投票する
6 に答える
103628 参照

java - Spring Data で @Transactional を使用するには?

Spring-data、Hibernate、MySQL、JPA プロジェクトに取り組み始めたところです。手動でクエリを作成することを心配する必要がないように、spring-data に切り替えました。

@Transactionalアノテーションなしでクエリも試したので、spring-data を使用している場合は を使用する必要がないことに気付きました。

@Transactional注釈を使用すべき/すべきではない特定の理由はありますか?

作品:

また動作します:

前もって感謝します!

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

hibernate-annotations - アノテーション付き jpa エンティティーを環境間で移動する

sts で spring-data と jpa プロジェクト ファセットを使用して、データベース スキーマから直接エンティティを生成しています。異なる環境 (開発、ステージング、製品など) 間で「注釈付き」エンティティの移行を管理する際のベスト プラクティスは何ですか。

与えられたエンティティ

上記のエンティティを移行するにはどうすればよいですか (特定の環境を対象とした Maven アーティファクトのみを生成します)。

おそらくスペルを使用していますか?

環境 spring-data-jpa, spring3.1.0 , osojvHibernateJpaVendorAdapter

前もって感謝します

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

image - 別のサーブレットのデータベース/DAOからJSFロードイメージ

別のサーブレットを使用して、BufferedOutputStreamを介して画像のbyte []表現をHttpServlet応答にアタッチする方法に関するBalusCのガイドを読んでいますが、HTML ImgタグがURLを参照しているため、これが必要であることを理解しています。バイトのストリーム。

http://balusc.blogspot.co.uk/2007/04/imageservlet.html

BalusCの例を採用する際に私が抱えている問題は、JSFの背後でSpringおよびSpring Data JPAを使用しているため、ImageDAOは実際には別のサーブレット(JSFサーブレット)の背後にあるSpringDataJPAリポジトリです。

JSFサーブレットの背後にあるSpringコンテナによってキュレートされたImageRepositoryへのハンドルを取得する方法はありますか?

これは、アプリケーションにIoCを使用し、HTMLImgタグのニーズを緩和するために別のサーブレットを作成することに頼っている人にとっては一般的な障害になると思います。別のサーブレットを作成して別のサーブレットを取得しようとすると、設計の緩和/汚いハックのように感じます。

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

spring - インジェクションを使用したSpringDataJPAは「NoSuchMethodError」を返します

私はSpring-Data-JPA1.0.3.RELEASEを使用してORMを管理しています。

私のpersistence.xmlは次のようになります。

applicationContextは次のようになります

私のOrderRepoインターフェースは次のようになります。

そして私は私のサービスクラス内でこのようにそれを使用しています

しかし、websphereはそれほど気に入らないようで、次のエラーが発生します。

この問題に関して私が見つけた唯一のリソースは、現在修正済みとしてマークされている以前のSpring-Data-JPAバージョンのエラー、またはspring-data-commons jarへの誤った依存関係を使用したエラーを指摘しています-しかし、私はそれをMavenに任せていますdata-commonsバージョンで問題ないはずです。また、Spring DataJPAにはJPA2.0の実装が必要であることがわかったので、websphereサーバーでopenJPAバージョンを確認しましたが、問題ありません。

これを引き起こしている可能性のあるアイデアはありますか?

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

java - spring-data/hibernate/rest でオブジェクトが返される方法を変更する方法

Spring-data Hibernate などを使用して REST アプリケーションに取り組んでいます。すべての基本的なアクションをセットアップしましたが、今は何か特定のことをしたいと思っています。データベース内の別のテーブルへの外部キーを持つアイテムのリストを取得すると、休止状態はその外部キーの行全体を返します。例えば:

(ちなみに全て架空のデータです)

今の問題は、学校が完全に返還されることを望んでいないということです. school_id を表示したいだけです。Web を検索し、「サービス レベル マッピング」に関するいくつかの記事を読みましたが、例を見つけることができませんでした。私は自分のアプリケーションを

コントローラ -> サービス -> dao -> リポジトリ

設定。

皆さんが私を助けてくれることを願っています! (さらにソースコードが必要な場合はお知らせください)。

どうもありがとう

編集

追加したいのは、MySql テーブルが次のようになっていることです。

ID | SCHOOL_ID | 名前 | DATE_CREATED

したがって、私が返したいのは、オブジェクトの学校ではなく、プレーンな school_id だけです(この状況では)

EDIT2 @Dandy の回答に取り組んでおり、現在持っているコードを表示したい:

ダニーが提案したようにコードを変更すると、私が望む結果が得られます..ほとんど。今クエリを実行すると、次のようになります。

school問題は、この特定のクエリを無効にしたいということです。それは可能ですか?