問題タブ [hibernate-generic-dao]
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 - Spring なしで EntityManager を取得する
私は hibernate を使用していますが、Spring は使用していません。 hibernate-generic-daoが見つかりました。コンセプトはいいようですが、setEntityManager() を呼び出していないため、実行すると NPE が発生します。
Spring を使用せずに EntityManager を取得するにはどうすればよいですか?
hibernate - org.hibernate.impl.SessionFactoryImpl.getClassMetadata での NullPointerException
何がヌルかわからないので、これをどのように表現するかさえわかりません。
次のように構成された hbm.xml ファイルがあります。
`
この hbm.xml が適切に hibernate.cfg.xml に追加されます。
を使用していBaseDAOImpl <T extends Entity> extends GenericDAOImpl<T, Long> implements BaseDAO<T>
ます。この Generic DAO は、Hibernate-Generic-DAO-framework のクラスです
以下のコード:
したがって、私のすべての DAO はこの基本クラスを拡張します。
セッション管理に春を使用しています。以下のサンプル appContext ファイル:
DAO を実行しようとしているクラスでは、次のように呼び出します。
上記のコードの DAO 実装は次のとおりです。
}
そのポイントに達すると、次の例外が生成されます。
dbunit と春のテストで休止状態を使用しています。コードのテスト環境をセットアップしようとしています。
構成がめちゃくちゃになっている場所や、必須の何かを見逃した場所についてのアイデアはありますか?
ありがとう
hibernate - Hibernateで更新した後にSpringSecurityPrincipalをリロードするにはどうすればよいですか?
これはよくある問題だと思います...そしてグーグルした後、私は答えを十分に探し回っていなかったか、no1がそれを求めたに違いないと思います...だから許してください。
SpringSecurityをHibernateなどで使用しています。
そのため、ユーザー/プリンシパルがログインし、プロファイルにいくつかの変更を加えました。
DAOを使用してプロファイル(UserDetails)を更新し、プリンシパルにこの更新を自動的に反映させたい。
ただし、プリンシパルを再度取得すると、ダーティバージョンが取得されます(最初のログインから)。
更新されたUserDetailsをHibernateからSpringSecurityにリロードさせる方法を知っている人はいますか?
java - 単純な Dao 統合テストが機能しない
これは、一時的な Person オブジェクトをデータベースに保持し、データベースに保存されたオブジェクトが一時的な Person オブジェクトと同じであることを確認するための非常に簡単なテストです。これがテストです
私のdaoIntegration-test.xml
ドメインクラスは次のとおりです。
最初のアサーションは成功しますが、2 番目のアサーションは失敗します。
java - hibernate テンプレートを使用しないサービス メソッド
DAOインターフェースを使用しているときにSprings Hibernate Templateを使用しないサービスメソッドを作成する方法の例を見つけようとして、数時間グーグルで検索しました。また、私を混乱させているのは、 @Transactionalアノテーションを DAO ではなくサービス層に配置するとどうなるかということです。サービス メソッド/DAO インターフェイスは互換性がありますか?
@Transactionalが DAO にある例を次に示します。
これは、サービス層で@Transactionalを使用しているが、休止状態のテンプレートを使用しているものです
ご協力いただきありがとうございます!
java - 複数のテーブルからの情報で配信を記録するための一般的な DAO または特定の DAO?
spring と hibernate を使用して、ユーザーが GUI を介して DB に情報を保存および取得できるようにする Web アプリケーションを作成しています。
DAO とサービス層の作成に関しては行き詰まりました。新しい配信を追加できるメソッドを作成したい。私の配信テーブルには、製品名、製品タイプ、顧客名、顧客国をそれぞれ含む独自のテーブルにマッピングされた製品 IDと顧客 IDがあります。
私が苦労している部分は、エンドユーザーに製品タイプ、製品名、顧客名、顧客の国、日付を入力して配達を記録してもらいたいということです。私は、
(1) これらのオブジェクトを含む新しい配信を追加するメソッドで DAO を作成します。
また
(2)一般的なオブジェクトをDBに永続化するだけのDAOを作成し、サービスメソッドを使用して個別のオブジェクトごとにDAOを実装しますか?
ご協力ありがとうございました!
/D
spring - Spring MVC + Hibernate DAO:Beanを配線できません
私は現在、Hibernateを統合したSpringMVCプロジェクトに取り組んでいます。純粋なSpringMVC部分(DispatcherServlet +リクエストマッピング)は正常に機能します。さて、私が対処しなければならない問題は非常に奇妙です。「Java Persistence with Hibernate」を読み、本で説明されているのと同様の方法で永続性レイヤーを設計しようとしています。つまり、2つの並列階層で設計しました。1つは実装クラス用で、もう1つはインターフェイス用です。
したがって、GenericDaoインターフェイスを実装するGenericDaoImplという名前の抽象クラスがあります。次に、GenericDaoImplを拡張し、AdvertisementDaoインターフェイス(GenericDaoを拡張)を実装するAdvertisementDaoImplという名前の具象クラスがあります。
次に、サービスBean(@Serviceでマークされたクラス)で、daoクラスを自動配線します。
これが私の問題です:
- インターフェイスを実装するが、抽象GenericDaoImplクラスを拡張しないDAOクラスの自動配線:OK
- AdvertisementDaoインターフェースを実装し、抽象GenericDaoImplクラスを拡張するAdvertisementDaoImplを自動配線すると、Bean初期化例外が発生します。
DAO階層の最上位にある抽象クラスは、一般的なCRUDメソッドのすべての定型コードを処理します。だから、絶対に残したいです。
誰かがそれについて説明がありますか?
これがコードの抜粋です:
スタックトレースの最も関連性の高い部分は次のとおりです(少なくとも、そうだと思います)。
ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドを自動配線できませんでした:be.glimmo.service.AdvertisementService be.glimmo.controller.HomeController.advertisementService; ネストされた例外はjava.lang.IllegalArgumentExceptionです:be.glimmo.service.AdvertisementServiceフィールドbe.glimmo.controller.HomeController.advertisementServiceをbe.glimmo.dao.AdvertisementDaoImplに設定できません
そしてこれが私のSpring設定です(pastebin.comへのリンク):
hibernate - マッピングリストHibernateで-ClassCastException
Hibernateでリストをマッピングするのに問題があります。私のクラス、マッピング、データベーススキームについてあなたがどう思うか知りたいです。すべてが正しければ、スローされた例外について助けていただければ幸いです。前もって感謝します !
私は次のクラスを持っています:
私のhbmファイルは次のとおりです。
最後に、私のsqlスクリプトは次のとおりです。
Hibernateは、コミット時に例外をキャストする前に、次のクエリを生成します。
例外 :
これは、GenericDaoHibernate.save(Tエンティティ)が呼び出されたときに発生します。
java - 一般的なDAOとネストされたプロパティのサポート
DAOオブジェクトを介してDBアクセスを実行しようとしていますが、別のエンティティのフィールドをクエリする必要がある場合に遭遇しました。
外部キーを介してエンティティAで接続されている2つのエンティティ(EntityAとEntityB)について考えますEntityA.idEntityB
。
私は持っていてGenericDao<EntityA> daoA
、EntityBの決定されたフィールドに一致するすべての結果を取得しようとしています:idEntityB.fieldOfB
すべてdaoの同じfindメソッドで。
出来ますか?もしそうなら、いくつかの方向性がいいでしょう。ありがとう
編集
私のコードの例:
エンティティ
DAOアクセス
エラーメッセージは、「プロパティidEntityB.fieldOfBを解決できませんでした」のようなものです。
編集2
自分がやりたいことのようなものを見つけることができました。私のAPIは少し異なりますが、自分のプロジェクトの初期段階でこの問題に遭遇した人にとっては、これは非常に有益だと思います。
http://code.google.com/p/hibernate-generic-dao/
フレームワークは、強力で柔軟な検索機能を備えています。これは、検索オブジェクトを一般および汎用DAOの検索メソッドに渡すことによって使用されます。
このプロジェクトでは、ネストされたプロパティを使用した検索が完全にサポートされています。