81,091
社区成员
发帖
与我相关
我的任务
分享
Query query=em.createQuery("from AddressEO a inner join a.studentList where a.id=1");
List list=query.getResultList();
public class AddressEO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String address;
@OneToMany(mappedBy = "address", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<StudentEO> studentList = new ArrayList<StudentEO>();
public class StudentEO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "address_id")
private AddressEO address;
et.begin();
String hql="from AddressEO a inner join fetch a.studentList";
List list=em.createQuery(hql).getResultList();
// 提交事务
et.commit();
Iterator<AddressEO> iterator = new HashSet<AddressEO>(list).iterator();
//遍历结果
while (iterator.hasNext()) {
AddressEO addressEO = iterator.next();
System.out.println(addressEO);
}
select
addresseo0_.id as id0_0_,
studentlis1_.id as id2_1_,
addresseo0_.address as address0_0_,
studentlis1_.address_id as address3_2_1_,
studentlis1_.course_id as course4_2_1_,
studentlis1_.name as name2_1_,
studentlis1_.address_id as address3_0__,
studentlis1_.id as id0__
from
t_address addresseo0_
inner join
t_student studentlis1_
on addresseo0_.id=studentlis1_.address_id
1 6#123