【发布时间】:2014-04-21 00:24:43
【问题描述】:
这是一个简单的问题,不会花太多时间。
假设:
Class A{ ... }
Class B{
@OneToMany
private A a;
}
意思是一个B可以有多个A还是很多A可以有一个B?
【问题讨论】:
标签: java hibernate jakarta-ee jpa
这是一个简单的问题,不会花太多时间。
假设:
Class A{ ... }
Class B{
@OneToMany
private A a;
}
意思是一个B可以有多个A还是很多A可以有一个B?
【问题讨论】:
标签: java hibernate jakarta-ee jpa
这意味着B可以有很多A,你的private A a应该用某种Collection来表示,它的@OneToMany装饰应该包括一个mappedBy属性指向Many side对应的字段/属性
public class B {
@OneToMany(mappedBy = "b");
private Collection<A> as;
@Id
@Column(name = "B_ID")
private Long id;
}
public class A {
@ManyToOne
@JoinColumn(name = "B_ID");
private B b;
}
【讨论】:
peeskillet 提供的答案是对的,但它使用了双向关系的示例。也就是说,A 类知道 B 类,B 类知道 A 类。 您可以在非双向关系中使用它:
public class B
{
@OneToMany
private Collection<A> a;
}
public class A{}
B 类知道 A 类,但 A 类不知道 B 类。
也希望能有所帮助。 :)
【讨论】: