gpt4 book ai didi

hibernate - 在 JPQL 中,如何访问命名参数的属性?

转载 作者:行者123 更新时间:2023-12-02 23:10:41 25 4
gpt4 key购买 nike

我正在使用 Hibernate 3.5.4-Final。

我想将实体作为命名查询的参数传递,然后在该查询中访问该命名参数的持久属性。我想这样做:

@NamedQuery(name = "hello", query = "SELECT p FROM WorkPackage p WHERE p IN (:workPackage).relatedWorkflows")

问题出在查询接近尾部的位置

(:workPackage).relatedWorkflows

这会导致 Hibernate 抛出部署时 QuerySyntaxException。删除括号没有帮助;为了清楚起见,我把它们留在了里面。有什么办法可以解决这个问题,还是我必须以编程方式执行此操作?

最佳答案

你不能。您必须将属性值本身传递给查询:

@NamedQuery(name = "hello", query = "SELECT p FROM WorkPackage p WHERE p IN (:relatedWorkflows)")

query.setParameterList("relatedWorkflows", workPackage.getRelatedWorkflows());

关于hibernate - 在 JPQL 中,如何访问命名参数的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6601575/

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