在Criteria API中创建查询

时间:2017-05-28 15:41:45

标签: java mysql hibernate hibernate-criteria

我正在使用Hibernate Criteria API。你能帮我看一下这个SQL查询的id列表。

这是SQL查询:

SELECT id FROM upload_rdp idx WHERE idx.is_update_stat = 0 AND 
(SELECT COUNT(r_a.id) FROM rdp r_a WHERE r_a.upload_rdp_id = idx.id) = 
(SELECT COUNT(r_cv.id) FROM rdp r_cv WHERE r_cv.upload_rdp_id = idx.id AND
r_cv.is_checked_valid = 1) ORDER BY idx.id;

这是一个代码,我在其中获得第一个查询的列表。 SQL查询是:

SELECT id FROM upload_rdp idx WHERE idx.is_update_stat = 0;

使用Criteria API:

Criteria criteria = createEntityCriteria().addOrder(Order.asc("id"));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
criteria.add(Restrictions.eq("isUpdateStat", 0));
criteria.setProjection(Projections.property("id"));
criteria.list();

谢谢,对不起我的英语。

0 个答案:

没有答案