在参考 table 中提供时间戳(多对多关系)
Providing timestamp in reference table (many to many relationship)
考虑以下 table(参考 table 在 tables 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.
目前唯一听起来合理的解决方案是触发器。你怎么看?
如果您希望将数据添加到多对多关系 table,只需将此 table 映射为一个实体,并将其作为一个实体进行管理。
在 A
和 B
中,映射从 @ManyToMany
到 @OneToMany
在新实体中说 AB
,您将 A
和 B
映射到 @ManyToOne
和 @Id
(两个字段)。
查看休眠参考文档中的 Example 134(具有 link 实体的双向多对多)。
您可以使用默认值 CURRENT_TIMESTAMp。我认为这应该有效。
A_ID int (FK),
B_ID int (FK),
change_date timestamp default Current_timestamp ON INSERT
考虑以下 table(参考 table 在 tables 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.
目前唯一听起来合理的解决方案是触发器。你怎么看?
如果您希望将数据添加到多对多关系 table,只需将此 table 映射为一个实体,并将其作为一个实体进行管理。
在 A
和 B
中,映射从 @ManyToMany
到 @OneToMany
在新实体中说 AB
,您将 A
和 B
映射到 @ManyToOne
和 @Id
(两个字段)。
查看休眠参考文档中的 Example 134(具有 link 实体的双向多对多)。
您可以使用默认值 CURRENT_TIMESTAMp。我认为这应该有效。
A_ID int (FK),
B_ID int (FK),
change_date timestamp default Current_timestamp ON INSERT