首页 文章

是否可以在不定义根的情况下创建Criteria Query?

提问于
浏览
0

是否可以在不定义根的情况下创建Criteria Query?或者我应该始终定义至少一个根?

Updated

我've tried to do this and I'有 IllegalStateException - no criteria query roots were specified

但我想知道是否有机会在没有定义根的情况下进行标准查询?

1 回答

  • 1

    不,这是不可能的 . 根据JPA(2)规范,CriteriaQuery必须至少有一个根 .

    编辑:我希望在JPA 2规范的§6.5.2(查询根)中找到明确的参考,但在这一点上尚无定论 . 但是,我回忆起关于OCE JPA开发人员考试的一个问题,这个问题确实被问到了,“一个或多个根”是正确的答案 . 对不起,这是我能提供的最佳参考 .

    编辑2:由@wypieprz建议的§4.14的BNF符号可能是更好的参考:)查询必须有一个或多个 FROM 子句 . 由于Criteria API或多或少是JPQL的不同符号,因此JPQL的所有限制也必须适用于Criteria API .

相关问题