問題タブ [hibernate-onetomany]
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.
spring - Hibernate @OneToMany での予期しない動作
私は spring-boot を使用した JPA の新しいユーザーなので、この質問は非常に素朴に見えるかもしれません。私は2つの非常に単純なエンティティを持っています:
と
私が探している動作は、少なくとも 1 つのサービス パッケージを含むすべての RatePlan を、FetchAll() プリミティブを使用して SQL の単純な JOIN としてフェッチすることです。
Hibernate によって生成された SQL を出力すると、最初にすべての RatePlan がフェッチされ、次に各 RatePlan について関連する ServicePackage が検索されます。その結果、サービス パッケージが関連付けられていない料金プランが表示されます。これは望ましくありません。(選択外部結合を使用したかのように)。
サービス パッケージ クラスに ratePlan (ManyToOne) の参照を挿入すると、問題を解決できることがわかりました。しかし、ここでオブジェクトを複製する意味はありません。別の解決策はありますか?
ありがとう。
hibernate - サブクラスごとの Hibernate Table アプローチ - 未知のターゲット エンティティ プロパティを参照する mappingBy
次のようなテーブル階層があります
Job{jobId, title} との 1 対多の関係を持つ Job{jobId, title}
Task{taskId, jobId(FK), task_title} との 1 対多の関係
SubTask{subTaskId, TaskId(FK), subtask_title}.
今、私はこれらの上記のプライマリテーブルを拡張するテーブルのサブセットを持っています
TechinalJob{jobId(FK), Technical_Details},
TechinalTask{taskId(FK), Technical_Task_Details},
TechinalSubTask{subTaskId(FK), Technical_SubTask_Details}.
同様に、管理ジョブ/タスク/サブタスクがあります。
しかし、キャッチは、私は技術職/タスク/サブタスクまたは管理職の間に関係船を持っていないということです..関係は元のジョブ/タスク/サブタスクを介しています. 技術職/タスク/サブタスクまたは管理職にも主キーがありません。したがって、TechinalJob と TechincalTask の間に双方向の 1 対多の関係を作成する必要がある場合は、Job/Task/SubTask テーブル構造を調べて次の手順を実行する必要があります。Hibernate 継承を使用してこれを達成するにはどうすればよいですか。
2015 年 3 月 25 日更新:
Zieluが提案したver2を試した後。これは修正されたコードです
これを試してみると、 Caused by: org.hibernate.AnnotationException: MappedBy reference an unknown target entity property: TechincalJob.tasks の TechinalTask.jobという例外が発生しました。タスクを拡張し、タスクのジョブが公開されていることを確認していますが、TechnicalTask でジョブを見つけることができません。
前もって感謝します..
hibernate - Hibernate で 1 対多からサブクラスへのマッピング
私は次のクラスを持っています:
データベース スクリプト:
XML マッピング ファイル:
ステップを作成し、各リストに 1 つの変数を追加して、構造全体を次のようにデータベースに追加しようとしています。
ただし、休止状態は、VARIABLE テーブルに挿入する次の SQL を生成しています。
Variable クラスを使用してリストを 1 つだけ作成すると、5 つのテーブルすべてに挿入するためのすべての SQL を正しく挿入し、休止状態で生成することができます。
リスト(1対多)をHibernateのサブクラスにマップすることは可能ですか? 不足している追加の構成はありますか?
java - 複合キーを使用した一方向の OneToMany の休止状態
親に複合主キーがあり、子に主キーがある (hibernate-auto generated) Hibernate OneToMany 関係を組み立てたかったのです。以下は私の作業サンプルコードです:
しかし、ここでは、OneToMany の一方向の関係として上記のモデルを作成したいと考えました。つまり、子は親を参照してはなりません (子クラスの Parent インスタンスを省略したい)。出来ますか?
reverse-engineering - HIbernate リバース エンジニアリング構成の熱心な読み込み
ドメインクラスfetch = FetchType.EAGERのプロパティを定義するために (Eclipse 上で) Hibernate リバースエンジニアリングツールを構成する方法に関する解決策が見つかりません 。
PS: デフォルトでは、fetch = FetchType.LAZYを定義するすべての外部キー
たとえば、これを reveng.xml で定義すると、主キーに対して機能しました。
このような解決策が必要です。
このコードをテストしましたが、機能せず、エラーが発生しました。誰でも助けることができますか?ありがとう。
java - java.lang.ExceptionInInitializerError および org.hibernate.AnnotationException: mappingBy が不明なターゲット エンティティ プロパティを参照しています:
Hibernate リバース エンジニアリングを使用して、モデルとそのマッピングおよび関係を作成しました。ただし、単純な選択をしようとすると、エラーが表示されます。マッピングの何が問題なのかわかりません。2 つのモデルのコードを次に示します。Student Model が親で、Assessment モデルが子です。
評価モデル:
学生モデル:
そして、ここにエラーがあります: