Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Criteria在一个属性的基础上获取唯一记录_Java_Hibernate - Fatal编程技术网

Java 如何使用Criteria在一个属性的基础上获取唯一记录

Java 如何使用Criteria在一个属性的基础上获取唯一记录,java,hibernate,Java,Hibernate,我想要使用Criteria基于单个属性值的唯一记录,请告诉我执行相同操作的方法。使用以下方法: criteria.setProjection(Projections.distinct(Projections.property("yourProperty"))); List result = criteria.list(); 或者,如果需要整行,可以使用detachedCriteria: DetachedCriteria d

我想要使用Criteria基于单个属性值的唯一记录,请告诉我执行相同操作的方法。

使用以下方法:

            criteria.setProjection(Projections.distinct(Projections.property("yourProperty")));
            List result = criteria.list();
或者,如果需要整行,可以使用detachedCriteria:

            DetachedCriteria dt = DetachedCriteria.forClass(yourClass.class);
            dt.setProjection(Projections.distinct(Projections.property("yourProperty")));

            criteria.add(Subqueries.propertyIn("yourProperty", dt));
            criteria.list();
Criteria c = session.createCriteria(Pojo.class);
criteria.setProjection(Projections.distinct(Projections.property("property")));
List list = criteria.list();