首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合使用JPQL和CriteriaQuery

混合使用JPQL和CriteriaQuery
EN

Stack Overflow用户
提问于 2011-02-23 03:47:03
回答 3查看 2.7K关注 0票数 4

可以将JPQL和CriteriaQuery混合使用吗?

我有一个在JPQL语言中包含where条件的String和一个已经构建并从其他地方获得的CriteriaQuery。我想知道是否可以在CriteriaQuery.where()中添加where条件String。where条件可以是多个条件“和-ed”/“或-ed”在一起。

我可以在不解析where条件String的情况下执行此操作吗

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-02 08:54:15

您可以做的一件事是将CriteriaQuery转换为JPQL,并连接字符串的两个WHERE部分。

参见http://www.datanucleus.org/products/accessplatform/jpa/jpql_criteria.html上的“标准查询的JPQL等价物”

票数 1
EN

Stack Overflow用户

发布于 2011-03-03 03:21:48

如前所述,在JPA中没有对此的通用规范(据我所知)。然而,在实现中,可能存在将查询转换为表达式或限制的方法。在TopLink中(大概在EclipseLink中),Expression.postfixSQL和prefixSQL是最接近的方法。Hibernate有Restrictions.sqlRestriction。

我不知道是否有其他的实现。

票数 2
EN

Stack Overflow用户

发布于 2011-02-27 17:17:46

如果在JPA1.0或2.0中有办法做到这一点,我不知道,但this在另一个问题中的回答表明,JPQL和CriteriaQuery的混合将在JPA2.1中提供(在未来的某个时候)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5083102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档