fetch子句可以与左外连接结合使用,称为“迫切左外连接”。如:
public void testForceLeftOuterJoin(){
Session session = null;
session = HibernateUtils.getCurrentSession();
String hql = "select c from Category c left join fetch c.products";
Query query = session.createQuery(hql);
List<Category> list = query.list();
HibernateUtils.closeSession(session);
for(Category c : list){
System.out.println(c.toString());
Set<Product> products = c.getProducts();
for(Product p :products){
System.out.println(p.toString());
}
}
}
public void testForceLeftOuterJoin(){
Session session = null;
session = HibernateUtils.getCurrentSession();
String hql = "select c from Category c left join fetch c.products";
Query query = session.createQuery(hql);
List<Category> list = query.list();
HibernateUtils.closeSession(session);
for(Category c : list){
System.out.println(c.toString());
Set<Product> products = c.getProducts();
for(Product p :products){
System.out.println(p.toString());
}
}
}
转载于:https://blog.51cto.com/wujuxiang/403688