gpt4 book ai didi

java - JPA CriteriaBuilder 值如列

转载 作者:行者123 更新时间:2023-12-02 03:43:46 25 4
gpt4 key购买 nike

我正在尝试使用 CriteriaBuilder 创建一个查询,其中我需要一个谓词,其中谓词的值类似于数据库中的值。

基本上,我需要能够执行以下操作:WHERE myTestValue LIKE columnValue

在 native 查询中,可以选择执行此操作,但使用 CriteriaBuilder 或 NamedQueries 时,它似乎不起作用。

String myValue = "foo@bar.com";
cb.where(cb.like(myValue, root.get(Entity_.email));

JPA 中有这样做的选项吗?或者我应该回退到 native 查询?

编辑我需要能够检查给定值是否与数据库中的通配符条目匹配。因此数据库有一条记录 %@bar.com%,我需要检查给定值 foo@bar.com 是否与该记录匹配。

最佳答案

我认为你的参数应该是相反的:

cb.where(cb.like(root.get(Entity_.email),myValue);

此外,您可能需要将其添加到第二个参数:

cb.where(cb.like(root.get(Entity_.email),"%"+myValue+"%");

关于java - JPA CriteriaBuilder 值如列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42230252/

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