0

我有一个TimeTable包含一组类型对象的类Year。AYear对 any 没有任何引用TimeTable

在我的数据库中,关系是相反的:在YEARS表中是一个外键TIME_TABLE_ID

我现在想将我的持久性注释添加到这些类中,但我找不到纯 JPA 的确切语法(仅适用于我目前不想使用的 Hibernate)。

我认为它可能是这样的:

class TimeTable{
....
@OneToMany
@JoinTable(name = "YEARS", 
  joinColumns = @JoinColumn(name = "TIME_TABLE_ID"), 
  inverseJoinColumns = @JoinColumn(name ="ID" ???))  // #### here ####
private Set<Year> years;
...
}

..但我不知道这个 inverseJoinColumn 是什么:(它是表ID中条目的名称TIMETABLE吗?

4

2 回答 2

0

反向连接列是可选的,我建议删除它,因为您设置了一对多关系并且不需要它。@JoinTable注释主要用于映射多对多关系,您不需要考虑这种情况。而不是@JoinTable用来@JoinColumn映射这个一对多的关系。

class TimeTable{
....
@OneToMany
@JoinColumn(name = "TIME_TABLE_ID"); 
private Set<Year> years;
...
}

http://www.objectdb.com/api/java/jpa/JoinColumn

于 2012-12-04T09:57:14.167 回答
0

ID对应Year Entity中的主键

于 2012-12-04T09:54:03.720 回答