指定应考虑进行不同计算的列

2024-04-02

我在用着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(使用前将#替换为@)

指定应考虑进行不同计算的列 的相关文章

随机推荐