2016-10-18 10 views
0

提供:は、次の表(多くの関係に多くのテーブルAとBの間に参照テーブル、)考えてみましょう(多くの関係に多くの)参照テーブルのタイムスタンプ

A_ID int (FK), 
B_ID int (FK), 
change_date timestamp - represents timestamp when this relation has been created. 

このタイムスタンプを提供するために、最善の解決策は何ですか?挿入を実行すると(実際にはHibernateが実行します)、HibernateはA_IDとB_IDについてしか知りません。

現時点では妥当と思われる唯一の解決策はトリガーです。どう思いますか?

+0

あなたは、もう少し詳細にあなたの質問を説明する必要があるとしている - あなたが関係が作成され、挿入時にタイムスタンプを設定することで問題は何ですか – Graham

+0

を求めているかは明らかではないでしょうか? –

+0

@TimBiegeleisenそれが簡単なら、あなたの解決策をこの質問に投稿してください。 – pidabrow

答えて

1

あなたは多対多の関係テーブルにデータを追加したい場合は、単にエンティティとしてこのテーブルをマップし、エンティティとして管理。

A

B、マッピングは、新しいエンティティに@OneToMany

@ManyToManyから行くABを言って、あなたは@ManyToOne@Id(両方のフィールド)でABをマップします。

は、HibernateのリファレンスドキュメントでExample 134(リンクエンティティと多対多の双方向)を見てください。

1

DEFAULTの値はCURRENT_TIMESTAMpとして使用できます。私はこれがうまくいくと思います。

A_ID int (FK), 
B_ID int (FK), 
change_date timestamp default Current_timestamp ON INSERT 
関連する問題