問題タブ [hibernate]
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 - ハイバネート削除カスケード
他のエンティティ [質問] のコレクションを含む 1 つのエンティティ [プロジェクト] があります。
「all-delete-orphan」のカスケード属性を使用して関係をマップしました。
私の DB では、リレーションは質問テーブルの project_id (FK) フィールドにマップされています。プロジェクトのない質問は必要ないため、このフィールドを null にすることはできません。
私がそうsession.delete(project)
すると、それはできないという例外がスローproject_id
されますが、そのフィールドへnull
の制約を削除すると、削除はうまくいきます。not-null
誰でもこれを解決する方法を知っていますか?
java - Hibernate Union の代替案
休止状態を使用してユニオン クエリを実装するには、どのような代替手段が必要ですか? 現時点では、休止状態がユニオンクエリをサポートしていないことはわかっています。現在、ユニオンを作成する唯一の方法は、ビューテーブルを使用することです。
もう1つのオプションはプレーンなjdbcを使用することですが、この方法では、すべての例/基準クエリのグッズと、休止状態がテーブル/列に対して実行する休止状態のマッピング検証が失われます。
java - O/RM システム (休止状態) の長期履歴モードを実現するためのベスト プラクティスは?
Customer、Assessment、Rating などのいくつかの Java クラスを Hibernate を使用してデータベースにマップしました。現在、永続データへのすべての変更の履歴モードについて考えています。アプリケーションは Web アプリケーションです。データを削除 (または編集) する場合、別のユーザーが変更を確認して元に戻すことができる必要があります。変更は現在のセッションの範囲外であるため、元に戻す機能に推奨されるコマンド パターンなどでこれを解決する方法がわかりません。
単一値編集の場合、この質問のようなアプローチは問題ないように思えます。しかし、永続エンティティ全体の削除はどうでしょうか? 最も簡単な方法は、この顧客が削除されたかどうかを示すフラグをテーブルに作成することです。最も複雑な方法は、削除されたエンティティが格納されるクラスごとにテーブルを作成することです。間に何かありますか?そして、これら2つのことをO / RMシステム(私の場合はHibernate)に快適に統合し、SQLをいじることなく(移植性のために避けたい)、十分な柔軟性を維持するにはどうすればよいですか?
ベストプラクティスはありますか?
java - Hibernate LazyInitializationExceptions を回避するための戦略
OpenSessionInView パターンを使用する以外に、Hibernate Web アプリケーションで LazyInitializationExceptions を回避する方法はありますか? OpenSessionInView を使用することの欠点はありますか?
java - Hibernate @Any 関連の注釈を使用するには?
@Any
Any 関連の注釈 ( 、@AnyMetaDef
、@AnyMetaDefs
および) が実際にどのように機能するかを誰かに説明してもらえますか@ManyToAny
。これらに関する有用なドキュメントを見つけるのに苦労しています (JavaDoc だけではあまり役に立ちません)。
これまでのところ、抽象クラスと拡張クラスを参照できるようになっていることがわかりました。これが事実である場合、なぜ@OneToAny
注釈がないのですか? そして、この「any」は単一の「any」または複数の「any」を指していますか?
短く、実用的で説明的な例は非常に高く評価されます (コンパイルする必要はありません)。
編集:返信を回答として受け入れ、当然のことながら信用を与えたいのと同じくらい、SminkとSakanaの両方の回答が有益であることがわかりました. 複数の返信を回答として受け入れることができないため、残念ながらどちらも回答としてマークしません。
java - JPA 関係における列のカスタマイズされた命名
休止状態を使用して JPA との関係を作成すると、ひどく長くて厄介な列名が生成されます。
例えば。これはactionPlan_actionPlanPK
、列actionPlan
が を指す FK であることを意味しますactionPlanPK
。
DB でもう少しきれいに見えるようにするために、自分で名前を付けることができればと思います。できれば、関係を所有するエンティティ クラスにある名前だけを付けてください。
これはJPAで可能ですか?
java - コレクションを2つの開いているセッションに関連付けようとする違法な試み
別のpojoのコレクションにpojoを追加しようとしています。私はどこかで本当にばかげた間違いを犯していると確信していますが、それを解決する方法がわかりません。
列のリストを含むpojoLookupTableがあります。
私の休止状態の構成では、次のようになります。
私のSpring設定ファイルには次のものがあります。
そして最後に、私のマネージャークラス(com.foo.LookupTableManager)内ですべてが失敗するコード:
ここでの変数lookupTableDaoは、HibernateDaoSupportを拡張する単純なDAOクラスを参照します。
私が得るエラーは次のとおりです。
OK、私は私が得ている基本的なメッセージを理解しています。しかし、私が理解していないのは、2番目のセッションをどこで取得するかです。...誰かがこれを手伝ってくれますか?
Hibernate 3.2.6.ga、Spring 2.5.5、Tomcat6.0を使用しています
java - xdocletとxdoclet2?
古いプロジェクトを更新していますが、Hibernate(hibernate3)タグを解析するときに、バージョンのxdocletがJava 1.5の注釈(ArrayList data = ....)について文句を言います。
だから私の質問はこれです...
Xdoclet 1.2.3の修正はありますか、それともXdoclet2への移行を検討する必要がありますか?
私はすでにいくつかのコードの移動を開始しましたが、xdoclet2は、excludedtagsなどのhibenateに対して同じレベルの構成を提供していないようです。しかし、私はこれについて間違っている可能性があります。
あなたはどう思いますか?
ジェフ・ポーター
java - 休止状態: hbm2ddl.auto=本番環境で更新?
hbm2ddl.auto=update
実稼働環境でデータベース スキーマを更新するように構成された Hibernate アプリケーションを実行しても問題ありませんか?
hibernate - Hibernate:オブジェクトが存在するかどうかを確認します
タイプAのオブジェクトがDBに格納されているとします。hibernateを使用してDBから特定のものをロードする方法は次のとおりです。
id = 1のオブジェクトが存在しない場合、ObjectNotFoundExceptionが発生します。しかし、例外をキャッチすることなく、そのようなオブジェクトが存在するかどうかを確認する方法はありますか?私が欲しいのは次のようなsmthです。
休止状態のドキュメントが見つかりませんでした...