在参考表中提供时间戳(多对多关系)

时间:2016-10-18 14:10:33

标签: mysql sql hibernate many-to-many entity-relationship

考虑下面的表(表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。

目前听起来合理的唯一解决方案是触发。你觉得怎么样?

2 个答案:

答案 0 :(得分:1)

如果您希望将数据添加到多对多关系表,只需将此表映射为实体,并将其作为实体进行管理。

AB中,映射从@ManyToMany转变为@OneToMany

新实体中的

AB,您将AB@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