【发布时间】:2011-11-30 11:22:44
【问题描述】:
我正在寻找一种方法,在 OneToMany 关系中的两个实体之间扩展自动生成的链接表,并使用额外的时间戳列。
目标是什么? 每个实体本身都有一个时间戳,显示上次更改的时间。但是没有办法 查看所做的更改类型。我们有必要看看 Place 和 Event 之间的分配是在什么时间完成的。
@Entity
public class Place{
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
private final List <Event> events = new ArrayList<Event>();
....
}
数据库包含三个表。 PLACE、EVENT 和 PLACE_EVENT。 表 PLACE_EVENT 有两列:PLACE_ID 和 EVENT_ID。
我想要一个带有简单时间戳的第三列“已创建”。 有什么方法可以自动生成这个时间戳。我不想自己创建一个新的实体 PLACE_EVENT。
我不确定这是否可能,但我很感激任何提示。
我在 eclipselink 中使用 jpa 2.0 和一个 db2 驱动程序。
【问题讨论】:
-
JPA 不允许这种关联,如果你想在关联上有属性,你必须创建一个新实体。
标签: java jpa eclipselink