gpt4 book ai didi

java - 使用 JPA 1.0 的 CriteriaQuery

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:57:06 25 4
gpt4 key购买 nike

是否可以将 CriteriaQuery 与 JPA 1.0 一起使用。我猜 JPA 2.0 不适用于 Java Se(版本 -- Java(TM) SE Runtime Environment (build 1.6.0_16-b01))。我绑着用,

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Test> cq = cb.createQuery(Test.class);
Root<Test> test= cq.from(Test.class);

....

但是在javax.persistence.*中找不到CriteriaBuilder的定义; (也尝试导入 javax.persistence.criteria.CriteriaBuilder;)

如果不可能,我有什么最好的选择。我在后端使用 hibernate ,但仍然有非专有的方式来做到这一点吗?如果不是在 hibernate 状态下怎么办?

谢谢。

最佳答案

Is it possible to use CriteriaQuery with JPA 1.0.

不,JPA 1.0 没有指定 Criteria API,Criteria API 是 JPA 2.0 新内容的一部分。

I guess JPA 2.0 not available with Java SE

JPA 1.0 和 JPA 2.0 都不是 Java SE 的一部分(与之捆绑)。但是,您可以在 Java SE 中使用 JPA(1.0 或 2.0)。

(...) But could not find the definition of CriteriaBuilder in javax.persistence.*

如前所述,这不是 JPA 1.0 API 的一部分,如果您不使用 JPA 2.0 实现,您将找不到它。

If it is not possible, what is the best option I have. I use hibernate in the backend, but still is there a non proprietary way to do this? if not how to do in hibernate?

在您的情况下,唯一的选择是使用 Hibernate 的专有 API Criteria Queries .为此,您需要访问 Session:

org.hibernate.Session session = (Session) em.getDelegate(); 
Criteria crit = session.createCriteria(Cat.class);
crit.setMaxResults(50);
List cats = crit.list();

引用资料

关于java - 使用 JPA 1.0 的 CriteriaQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478158/

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