gpt4 book ai didi

java - 过滤子类的 JPA CriteriaBuilder 方法是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 01:32:31 25 4
gpt4 key购买 nike

JPA 2.0 提供了一种使用 JPQL 表达式 TYPE 按子类过滤的方法,例如:

SELECT e
FROM entity e
WHERE TYPE(e) = :entityType

其中参数 entityType 将是鉴别器列的值。

考虑到鉴别器列似乎不受限制,使用 JPA 标准构建器实现相同目标的推荐方法是什么?

我使用的是 JPA 2.1,到目前为止,唯一合适的解决方案是将鉴别器列映射为 Java 实体中的只读字段,但我不确定这是否是受支持的功能。

最佳答案

常见查询示例 are here

例子:

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery();
Root e = cq.from(Entity.class);
cq.where(cb.equal(e.type(), entityType));
Query query = em.createQuery(cq);
List<Entity> result = query.getResultList();

关于java - 过滤子类的 JPA CriteriaBuilder 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36398380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com