我在用着javax.persistence.criteria.CriteriaBuilder https://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaBuilder.html and javax.persistence.criteria.CriteriaQuery https://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaQuery.html选择一些实体。
我现在只想选择应由特定列指定的唯一实体。
有方法javax.persistence.criteria.CriteriaQuery#distinct https://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaQuery.html#distinct%28boolean%29它只返回唯一的实体。
我宁愿需要类似的东西
CriteriaQuery<T> distinct(String... columnNames)
你知道我如何在我的 JPA 中烘焙如此独特的东西吗CriteriaQuery
?
似乎可以与冬眠。 https://stackoverflow.com/a/5196296/3067148
下面的语句没有任何意义:
我现在只想选择唯一的实体,这些实体应该是
由某一列指定。
如果结果集“完全相同”,则按“不同”进行过滤。
如果只有某些字段相同,则实体不相同。
您可以通过以下方式在结果集上创建不同的子句:
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery query = builder.createQuery();
Root<Friend> c = query.from(Friend.class);
query.multiselect(c.get(Friend_.firstName),c.get(Friend_.lastName)).distinct(true);
那么您将从朋友实体中获得名字和姓氏的唯一组合。
例如...“给我朋友的所有独特组合,其中朋友的名字和姓氏是唯一的。”但这并不意味着给我独特的朋友。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)