使用Hibernate标准的嵌套集合

时间:2017-01-20 10:31:08

标签: java hibernate

我有2个表Tab1Tab2

" Tab1"到" Tab2"是one-to-many

代码就是这样:

private Collection< Tab2 > obj = new ArrayList< Tab2 >();

@javax.persistence.OneToMany(fetch=javax.persistence.FetchType.LAZY,
                                                     mappedBy = "Tab1")

public Collection< Tab2 > getTab2() 
{ 
  return Tab2;
}

public void setTab2( Collection<Tab2 > val ) 
{ 
 this.Tab2 = val;
}

我想从两个表中获取记录。

例如:
Tab1有列:Stu_Id, Stu_FirstName, Stu_LastName

Tab2有列:Stu_Id(foriegn Key),Stu_Subject, Stu_Teacher

现在,我想从Stu_idTab1Stu_SubjectStu_Teacher

获取Tab2 stop on runlevel [S016] respawn instance $TTY #exec /sbin/mingetty $TTY exec /sbin/mingetty --autologin root $TTY usage 'tty TTY=/dev/ttyX - where X is console id'

1 个答案:

答案 0 :(得分:0)

您有不同的可能性来解决您的问题。您可以调用命名查询,也可以使用CriteriaBuilder

构建类型化查询

还有很多其他问题涉及OneToMany - 与NamedQueryCriteriaBuilder的关系。现在取决于你喜欢什么。我个人更喜欢CriteriaBuilder,因为您可以使用JPA-Metamodel,并且它提供了重构方便性。 (尽管我将自己的Wrapper写入CriteriaBuilder以获得更好的SQL - 外观和感觉; - )

NamedQuery的示例: Construct JPA query for a OneToMany relation

TypedQuery的示例: JPA CriteriaQuery OneToMany