繁体   English   中英

Hibernate @Where子句

[英]Hibernate @Where clause

我有User类,它有组。

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

但是当我试图对已经存储在DB中并且不适合@Where子句的Group进行某些操作时,Hibernate只是忽略了我。

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

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

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

如果您的字段是数字:

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

如果您的字段是字符串:

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

如果您的字段是布尔值:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM