Hibernate之DetachedCriteria动态条件查询
2007-03-20 14:53
549 查看
在hibernate中要实现动态查询或者子查询等可以用DetachedCriteria来动态构造sql语句
比如要实现类似这样一个sql语句:
select * from Table1 t1 where t1.field1 in(select field2 from Table2 t2 where t2.field3=value)
实现方法:
Session session = HibernateSessionFactory.currentSession();
Criteria criteria = session.createCriteria(Table1.class);
DetachedCriteria dc = DetachedCriteria.forClass(Table2.class).setProjection(Property.forName("field2"));
dc.add(Expression.eq("field3",value));
criteria.add(Property.forName("field1").in(dc));
List list = criteria.list()
HibernateSessionFactory.closeSession();
比如要实现类似这样一个sql语句:
select * from Table1 t1 where t1.field1 in(select field2 from Table2 t2 where t2.field3=value)
实现方法:
Session session = HibernateSessionFactory.currentSession();
Criteria criteria = session.createCriteria(Table1.class);
DetachedCriteria dc = DetachedCriteria.forClass(Table2.class).setProjection(Property.forName("field2"));
dc.add(Expression.eq("field3",value));
criteria.add(Property.forName("field1").in(dc));
List list = criteria.list()
HibernateSessionFactory.closeSession();
相关文章推荐
- Hibernate3的动态条件查询DetachedCriteria
- Hibernate(基础一) Hibernate3的动态条件查询DetachedCriteria用法
- Hibernate的动态条件查询DetachedCriteria
- Hibernate动态条件查询(Criteria Query)
- 基于Hibernate的动态查询(HQL、Criteria、DetachedCriteria、MySQL)
- Hibernate动态条件查询(Criteria Query)
- 【转】Hibernate动态条件查询(Criteria Query)
- Hibernate3的动态条件查询DetachedCriteria
- Hibernate里面如何使用DetachedCriteriaCriteria 实现多条件分页查询
- Hibernate条件查询(DetachedCriteria)
- hibernate离线查询DetachedCriteria清除上次的查询条件
- Hibernate-Criteria查询(3)DetachedCriteria构造查询条件、命名查询、原生SQL、调用存储过程(使用JDBC)
- Hibernate的Criteria和DetachedCriteria 查询
- hibernate参考手册之---条件查询(Criteria Query)
- 应用Hibernate3的DetachedCriteria实现分页查询
- DetachedCriteria多条件查询or,disjunction
- DetachedCriteria离线查询离线查询---实现模糊查询 Hibernate
- 条件查询detachedCriteria的使用
- hibernate的多条件动态查询
- 灵活使用Hibernate的查询对象DetachedCriteria