gpt4 book ai didi

java - 使用 JPA2 Criteria API 查询字符串子集

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:05 25 4
gpt4 key购买 nike

我正在从 Hibernate Criteria API 升级到 JPA2 Criteria API,遇到以下问题,我似乎无法解决。

在 Hibernate Criteria 中,我使用 Restrictions.sqlRestriction 来检查特定类型的字符串子集:

criteria.add(Restrictions.sqlRestriction("{alias}.location_key = left((?), length({alias}.location_key))", searchObj.getLocationKey(), Hibernate.STRING));

这实质上是检查输入字符串的前 N 个字母是否与长度为 N 个字母的 location_key 匹配。即输入字符串 Canada,ON 应与以下任何内容匹配:CanadaCanC

问题是 JPA2 不允许我们像那样编写原生 sql,我不确定如果没有 left 函数(我认为可能是 mysql具体)。

感谢任何帮助!

最佳答案

我不确定您的查询究竟是如何工作的,但是您不应该使用 CriteriaBuilder.substring(Expression, int) 而不是 LEFT() 吗?如果您提供您希望生成的实际 SQL,我可能会有更好的想法。

关于java - 使用 JPA2 Criteria API 查询字符串子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5703460/

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