gpt4 book ai didi

java - OpenJPA 将 1 <> 1 添加到 WHERE 子句

转载 作者:行者123 更新时间:2023-11-30 07:52:00 26 4
gpt4 key购买 nike

OpenJPA 正在将“1 <> 1”添加到我的 WHERE 子句中。知道为什么吗?我在下面列出了一些示例代码和 Sql

 //Criteria Query
_PredicateList.add(
_CriteriaBuilder.equal(
_RootClass.get(Test_.Data)
,"XXX" )
);

//sql snippet that is generated
t0.Data= 'XXX' AND 1 <> 1

最佳答案

您正在构建的条件可能没有机会评估为true,并且 OpenJPA 在查询设置时检测到它。这可能是由于比较的类型不兼容(在您的情况下)或其他情况下的多种不同原因引起的(即非空列上的“为空”条件、与大于该允许的最大长度的字符串常量的比较)列等)。

为什么会出现这样奇怪的情况?可能是为了向开发人员提示查询中存在逻辑错误(并且不会因运行时异常而失败)。出于性能原因,可能性较小。此外,并非所有 SQL 方言都支持 boolean 文字。

关于java - OpenJPA 将 1 <> 1 添加到 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33223973/

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