数据模型A
Public classs A{
@OneToMany(mappedBy = "a", fetch = FetchType.LAZY)
@Fetch(FetchMode.SUBSELECT)
@Cascade(value = { CascadeType.ALL })
List<B> bList=new ArrayList<B>
}
Public class B{
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "A_ID")
A a = new A();
}
业务场景:查询条件中包含A的字段也包含B的字段,根据条件查询符合条件的A的结果集
通常情况下不需要显示指定A,B表的关联字段
hql="select distinct a from A a left outer join a.bList as b where 1=1 and a.属性=值
and b.属性=值