【发布时间】:2012-08-03 05:15:08
【问题描述】:
我的查询是这样的:
query1 = 从 entity1 中选择 a.id a where a.id in (:List1)
并且不存在(从 entity2 ex2 中选择 ex2,其中 ex2.assignedId = a.id)
工会
从 entity2 ex ,entity3 pi 中选择 ex.assignedId
其中 ex.entity3Id = pi.id 和 ex.assignedId 在 (:List1)
和 ex.assignedTypeId = :assignedTypeId 和 pi.processStatus = :status
不存在
(从 entity2 ex1、entity3 pi1 中选择 ex1.assignedId
其中 ex1.entity3Id = pi1.id 和 ex1.assignedId = ex.assignedId
和 ex1.assignedTypeId = :assignedTypeId
和 pi1.processStatus :status);
在尝试执行查询时,
查询现有Ids=em.createQuery(query1); //设置所有参数
在 org.hibernate.hql.ast.ParameterTranslationsImpl 的第 87 行抛出 NullPointerException
完全检查了所有的大括号和参数。等效转换在 mysql 中有效。 有人可以帮助我使用 CriteriaBuilder 转换查询,发现转换很困难。
【问题讨论】:
标签: java hibernate jpa-2.0 entitymanager hibernate-entitymanager