为什么Hibernate将使用这些类连接表?
@Entity
public class CompanyImpl {
@OneToMany
private Set<Flight> flights;
@Entity
public class Flight {
我不想既不是连接表,也不是一个双向关联:(
为什么Hibernate将使用这些类连接表?
@Entity
public class CompanyImpl {
@OneToMany
private Set<Flight> flights;
@Entity
public class Flight {
我不想既不是连接表,也不是一个双向关联:(
因为这是它是如何设计的,JPA规范告诉它映射这样的关联。 如果你想在飞行表的连接柱,使用
@Entity
public class CompanyImpl {
@OneToMany
@JoinColumn(name = "company_id")
private Set<Flight> flights;
}
这是记录 。
Hibernate使用的关联表来映射关系,而另一表其是许多侧不不是任何表中。 然后,它会创建一个映射器来代替。
该文件指出,使用@OneToMany和@ManyToMany可以在地图上集合,列表,地图和相关实体的集合。
如果不指定@JoinColumn,这是关于你的问题,一个单向一对多与连接表中。 表名是主表的名称,_的串联,另一侧的表名。 引用所有者表的外键的名称(s)是所有者表的连接,_和所有者主键列(一个或多个)的名称。
所以,如果你不想创建一个使用一个连接表(映射)到许多你可能要指定@JoinColumn。
@Entity
public class CompanyImpl {
@OneToMany
@JoinColumn(name=flights_id)
private Set<Flight> flights;
@Entity
public class Flight {