Java 使用Hibernate条件的嵌套集合
我有两个表Java 使用Hibernate条件的嵌套集合,java,hibernate,Java,Hibernate,我有两个表Tab1和Tab2 “Tab1”到“Tab2”的映射是一对多 代码是这样的: private Collection< Tab2 > obj = new ArrayList< Tab2 >(); @javax.persistence.OneToMany(fetch=javax.persistence.FetchType.LAZY, mappedBy = "T
Tab1
和Tab2
“Tab1
”到“Tab2
”的映射是一对多
代码是这样的:
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;
}
private Collectionobj=new ArrayList();
@OneToMany(fetch=javax.persistence.FetchType.LAZY,
mappedBy=“Tab1”)
公共集合getTab2()
{
返回表2;
}
公共无效集合表2(集合值)
{
this.Tab2=val;
}
我想从两个表中提取记录。例如:
选项卡1
有列:斯图Id、斯图名字、斯图姓氏
Tab2
有一列:Stu-Id(外键)、Stu-Subject、Stu-Teacher
现在我想从
Tab1
和Stu Subject
获取Stu-id
,Stu-Teacher
从Tab2
解决问题的可能性不同。要么调用命名查询,要么使用
已经有很多其他问题涉及到OneToMany
——与NamedQuery
或CriteriaBuilder
的关系。这取决于你喜欢什么。我个人更喜欢CriteriaBuilder
,因为您可以使用JPA元模型,并且它提供了重构的便利。(尽管我为CriteriaBuilder
编写了自己的包装,以获得更好的SQL
-外观;-))
NamedQuery
示例:
TypedQuery
示例:
你有不同的可能性来解决你的问题。要么调用命名查询,要么使用 已经有很多其他问题涉及到
OneToMany
——与NamedQuery
或CriteriaBuilder
的关系。这取决于你喜欢什么。我个人更喜欢CriteriaBuilder
,因为您可以使用JPA元模型,并且它提供了重构的便利。(尽管我为CriteriaBuilder
编写了自己的包装,以获得更好的SQL
-外观;-))
NamedQuery
示例:
TypedQuery
示例:
我想用JPA检索记录。我想用JPA检索记录。。