考虑下面的表(表A和表B之间的参考表,多对多关系):
A_ID int (FK),
B_ID int (FK),
change_date timestamp - represents timestamp when this relation has been created.
提供此时间戳的最佳解决方案是什么?当我执行insert(实际上是Hibernate执行)时,Hibernate只知道A_ID和B_ID。
目前听起来合理的唯一解决方案是触发。你觉得怎么样?
答案 0 :(得分:1)
如果您希望将数据添加到多对多关系表,只需将此表映射为实体,并将其作为实体进行管理。
在A
和B
中,映射从@ManyToMany
转变为@OneToMany
说AB
,您将A
和B
与@ManyToOne
和@Id
(两个字段)对齐。
在hibernate参考文档中查看Example 134(带链接实体的双向多对多)。
答案 1 :(得分:1)
您可以将DEFAULT值用作CURRENT_TIMESTAMp。我认为这应该有用。
A_ID int (FK),
B_ID int (FK),
change_date timestamp default Current_timestamp ON INSERT