gpt4 book ai didi

java - 使用参数指定命名查询中的表达式

转载 作者:行者123 更新时间:2023-11-30 07:25:55 24 4
gpt4 key购买 nike

我可以使用查询参数在命名查询中指定表(对象)、列名或表达式吗?

例如,我想使用允许我在选择整个对象或仅选择计数之间切换的单个查询。

select :param1
from TablePO t
where t.id = :param2

然后在 java 中设置参数,如:

query.setParameter("param1", "t");
query.setParameter("param2", "2");

我想通过设置 param1 来避免复制和粘贴

query.setParameter("param1", "t");

query.setParameter("param1", "count(t)");

最佳答案

不,你不能。最后,HQL 参数变成了 JDBC 预处理语句参数,而预处理语句无法做到这一点。参数保存值,而不是查询的任意部分。数据库必须能够根据参数化查询计算出查询计划,如果允许你想做的事情是不可能的。

顺便说一句,如果您刚刚尝试过,您就会自己找到它。

关于java - 使用参数指定命名查询中的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10641321/

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