与java持久性的单向oneToMany关系

时间:2012-12-04 09:46:19

标签: java java-ee jpa

我有一个类TimeTable,其中包含一组Year类型的对象。 Year对任何TimeTable都没有任何引用。

在我的数据库中,关系是另一种方式' round: 在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;
...
}

..但我无法找出这个逆倒角是什么:( 它是ID表中条目的TIMETABLE的名称吗?

2 个答案:

答案 0 :(得分:0)

ID对应于Year Entity

中的主键

答案 1 :(得分:0)

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

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

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