PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Unter Verwendung von Kriterien verschachtelte Abfragen in den Ruhezustand versetzen

Ich denke, das wird Ihren Bedürfnissen entsprechen:

criteria.addOrder(Order.asc("name").ignoreCase())
        .setProjection(Projections.distinct(Projections.property("name")))
        .list();

oder dieses Kriterium verwendet ein DetachedCriteria mit einer Namensprojektion als Unterabfrage:

DetachedCriteria distinctNamesCriteria = DetachedCriteria.forClass(Person.class);
distinctNamesCriteria.setProjection(Projections.distinct(Projections.property("name")));

criteria.add(SubQueries.propertyIn("name", distinctNamesCriteria))
        .addOrder(Order.asc("name").ignoreCase())
        .list();