我试图使用休眠和投影来生成一个没有重复元素的列表。
我有一个CurrEntityProfileBO类,它有属性entityId。
Criteria criteria = session.createCriteria(
CurrEntityProfileBO.class, "entityProfileBO");
criteria.setProjection(Projections.distinct(Projections
.projectionList().add(Projections.property("entityId"))));
我得到了一个例外:
[2014-11-04 11:28:59] ERROR [http-8080-5] (SqlExceptionHelper.java:144) - ORA-01791: not a SELECTed expression
[2014-11-04 11:28:59] WARN [http-8080-5] (AbstractHandlerExceptionResolver.java:185) - Handler execution resulted in exception
org.hibernate.exception.SQLGrammarException: ORA-01791: not a SELECTed expression
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:82)
感谢任何帮助!
答案 0 :(得分:0)
根据sp00m。 criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); 效果很好!