您的位置:首页 > 其它

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: