假设我得到了
class Father{
private Integer fatherId;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="FATHERID", nullable=false)
public Integer getFatherId() {
return fatherId;
}
Set<Son> sons;
@OneToMany(fetch=FetchType.LAZY)
@JoinColumn(name="FATHERID")
public Set<Son> getSons() {
return airlineFlights;
}
}
和儿子
class Son{
Integer sonId
@Id
@GeneratedValue(generator="identity")
@GenericGenerator(name="identity", strategy="identity")
@Column(name="SONID", nullable=false)
public Integer getSonId() {
return sonId;
}
Father father;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="FATHERID", nullable=false)
public Father getFather() {
return father;
}
}
现在让我们假设我得到了这个代码:
Father f = session.load(Father.class, 1);
f.getSons();
f 是一个简单的 POJO 并且儿子的集合是惰性的,那么这里会发生什么?gonig 如何进入数据库并查询这些儿子,我们在简单的 JVM 中调用简单的 get,hibernate 如何在那里工作?
编辑:调用 getSons() 时会发生什么,你能给出完整的循环吗?