[英]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
enabled
和deleted
字段的类型,您必须以不同的形式编写@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.