0

鉴于此分离查询:

DetachedCriteria notExistInCriteria = DetachedCriteria.forClass(ReportTelephonyEvent.class, "r2");
notExistInCriteria.add(Restrictions.eq("child", child));
notExistInCriteria.add(Restrictions.eqProperty("countryCode", "r1.countryCode"));
notExistInCriteria.add(Restrictions.eqProperty("phonenumber", "r1.phonenumber"));
notExistInCriteria.add(Restrictions.or(Restrictions.lt("startTime", start), Restrictions.gt("startTime", end)));
notExistInCriteria.setProjection(Projections.property("phonenumber"));

我现在设置了 Projection “phonenumber”,但我想将其设置为 1,这样输出查询将是这样的:

SELECT 1 FROM bpr_report_telephony_event .............

如何设置 Projection 以使 Hibernate 在选择列中只有“1”?

4

2 回答 2

0

用 Projections.sqlProjection("1") 替换 Projections.property("phonenumber") 应该可以。

于 2013-01-20T15:59:26.780 回答
0

为了得到“1”作为投影的结果,你可以这样做:

notExistInCriteria.setProjection(Projections.sqlProjection("1", new String[]{}, new Type[] { IntegerType.INSTANCE })
于 2018-03-15T11:59:09.130 回答