Hibernate Criteria 关联查询(inner join 与 left join)
2011-08-23 16:17
351 查看
实体类 User 、Dept 。 每个User都有对一个Dept属性
-----------------------------------------------------------model类--------------------------------------------------------------------------
--------------------------------------------------------------------Dao(left join) ---------------------------------------------------------
--------------------------------------------------------------------Dao(inner join) ---------------------------------------------------------
-----------------------------------------------------------model类--------------------------------------------------------------------------
public class User implements Serializable { /** * 序列化标识id */ private static final long serialVersionUID = 1L; private Integer id; //用户名 private String userName; //密码 private String password; private Dept dept; //getter setter } public class Dept { //id private Integer id; // 部门名字 private String name; //getter setter }
--------------------------------------------------------------------Dao(left join) ---------------------------------------------------------
/** * <Criteria查询> * * @return List */ @SuppressWarnings("unchecked") public List<User> findByCriteria() { return (List)ht.execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(User.class); criteria.add(Restrictions.eq("password", "123")); // 关联 criteria.setFetchMode("dept", org.hibernate.FetchMode.JOIN); return criteria.list(); } }); }
--------------------------------------------------------------------Dao(inner join) ---------------------------------------------------------
/** * <Criteria查询> * * @return List */ @SuppressWarnings("unchecked") public List<User> findByCriteria() { return (List)ht.execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(User.class); criteria.add(Restrictions.eq("password", "123")); // 关联 criteria = criteria.createCriteria("dept"); criteria.add(Restrictions.eq("name", "Android")); return criteria.list(); } }); }
相关文章推荐
- Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
- Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
- Hibernate中,left join、inner join以及left join fetch区别
- hibernate criteria 关联查询
- hibernate ,criteria关联查询
- Hibernate中,left join、inner join以及left join fetch区别
- Hibernate中,left join、inner join以及left join fetch区别
- hibernate DetachedCriteria连接关联查询
- Hibernate中,left join、inner join以及left join fetch区别
- Hibernate中,left join、inner join以及left
- Hibernate中,left join、inner join以及left join fetch区别(转)
- SQL中LEFT JOIN、Inner Join、Right Join、Left Outer Join、full join区别
- hibernate Criteria用法
- Hibernate中Criteria的完整用法?
- Hibernate Criteria中的三种Distinct
- 数据库表连接之左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)
- 转载---sql之left join、right join、inner join的区别
- 内连接(inner join,=)、左外连接(left join……on)、右外连接(right join……on)
- sql之left join right join和inner join的区别
- hibernate Criteria查询 2.3