0
私は学生と学生の履歴と呼ばれる2つのテーブルを持っています。生徒IDはジェネレータを使って生成されます。学生に挿入するとき、同じレコードを同じIDの履歴テーブルに挿入する必要があります。どうすればこれを達成できますか?Hibernateで同じシーケンスジェネレータを2つのテーブルにリンクする方法はありますか?
よろしく、 Karthik。
私は学生と学生の履歴と呼ばれる2つのテーブルを持っています。生徒IDはジェネレータを使って生成されます。学生に挿入するとき、同じレコードを同じIDの履歴テーブルに挿入する必要があります。どうすればこれを達成できますか?Hibernateで同じシーケンスジェネレータを2つのテーブルにリンクする方法はありますか?
よろしく、 Karthik。
マッピングでは、学生と学生の履歴の関係を1:1または1:nの関係で定義し、挿入/更新のカスケードを定義します。学生履歴テーブルの学生への外部キーについては、<key>
要素を使用します(学生用のマッピングで定義されます)。
(ここでは1:nの関係)あなたは学生のマッピングでください:あなたは更新時に
<bag name="studentHistory" cascade="all" ... >
<key column="studentId" not-null="true">
</key>
<one-to-many class="com.xxx.StudentHistory"/>
</bag>
続い/学生のインスタンスを挿入し、歴史の中で外部キーが自動的に処理されます休止状態で。
すべてのデータを別の履歴テーブルにコピーしたいのですが、なぜ同じシーケンスを使用したいのですか? – ManuPK