gpt4 book ai didi

java - Hibernate @Where 子句

转载 作者:搜寻专家 更新时间:2023-11-01 03:05:28 25 4
gpt4 key购买 nike

我有用户类,它有组。

    @Where(clause = "enabled = 1 and deleted = 0")
@Fetch(FetchMode.SUBSELECT)
public Set<Group> getGroups() {
return groups;
}

但是当我试图对已经存储在数据库中并且不适合 @Where 子句的 Group 进行一些操作时,Hibernate 会忽略我。

实际上,@Where 不是我的决定,但我能找到解决这个问题的解决方案(创建另一个 dao 方法来执行某些操作)太丑陋了。

那么,有没有办法克服这个问题呢?还是我错过了什么?感谢您的帮助。

最佳答案

根据 enableddeleted 字段的类型,您必须以不同的形式编写 @Where 子句。

如果您的字段是数字:

@Where(clause = "enabled = 1 and deleted = 0")

如果您的字段是字符串:

@Where(clause = "enabled = '1' and deleted = '0'")

如果您的字段是 boolean 值:

@Where(clause = "enabled = true and deleted = false")

检查您的类型(在您的 Java 类和数据库中)并以正确的方式使用您的 @Where

关于java - Hibernate @Where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24373368/

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