Java 混合JPQL和CriteriaQuery

Java 混合JPQL和CriteriaQuery,java,jpa,Java,Jpa,是否可以混合使用JPQL和CriteriaQuery 我有一个字符串,它在JPQL中包含where条件,还有一个CriteriaQuery,它已经构建并从其他地方获取。我想知道是否可以将where条件字符串添加到CriteriaQuery.where()。where条件可以是多个条件“和ed”/“或ed” 我能在不解析where条件的情况下做到这一点吗?如果在JPA 1.0或2.0中有这样做的方法,我不知道,但在另一个问题中的回答表明,JPA 2.1(将来的某个时候)中可以混合使用JPQL和Cr

是否可以混合使用JPQL和
CriteriaQuery

我有一个
字符串
,它在JPQL中包含where条件,还有一个
CriteriaQuery
,它已经构建并从其他地方获取。我想知道是否可以将where条件
字符串
添加到
CriteriaQuery.where()
。where条件可以是多个条件“和ed”/“或ed”


我能在不解析where条件的情况下做到这一点吗?

如果在JPA 1.0或2.0中有这样做的方法,我不知道,但在另一个问题中的回答表明,JPA 2.1(将来的某个时候)中可以混合使用JPQL和CriteriaQuery.

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


请参见

上的“JPQL等价于条件查询”,如前所述,JPA中对此没有通用规范(据我所知)。然而,在实现中,可能存在将查询转换为表达式或限制的方法。在TopLink中(可能在EclipseLink中)和prefixSQL是最接近的方法。Hibernate有限制。sqlRestriction

我不知道还有其他的实现