【发布时间】:2015-05-17 21:29:32
【问题描述】:
JPQL 让这种改变变得非常容易:
Select o from Orders as o where....
Select o.id from Orders as o where....
但在条件查询中:
CriteriaBuilder builder = kem.getCriteriaBuilder();
CriteriaQuery<Orders> query = builder.createQuery(Orders.class);
Root<Order> orders= query.from(Orders.class);
query.select(orders);
....
看起来选择项是由 builder.createQuery(Order.class) 定义的,没有任何灵活性。
我知道我们可以使用 Tuple.class,但是除了 like 之外,还有什么更好的方法可以从复杂的查询中获取额外的 id(只有一个字段)?没有这样的特征标准查询变得非常缺乏灵活性。
【问题讨论】:
-
我认为您可以根据以下问题查询 Tuple 对象:stackoverflow.com/questions/12618489/…
-
@Petros Splinakis 谢谢,但这里的问题是我们必须迭代所有结果以提取唯一的字段值。 Select
只返回一个对象的集合。没有选项可以像在 JPQL 中那样选择单个字段并直接获取结果列表。
标签: jakarta-ee jpa ejb jpql