我有User类,它有组。
@Where(clause = "enabled = 1 and deleted = 0")
@Fetch(FetchMode.SUBSELECT)
public Set<Group> getGroups() {
return groups;
}但是当我试图对已经存储在数据库中的、不适合@Where子句的Group进行一些操作时,Hibernate就忽略了我。
实际上,@Where不是我的决定,但我能找到的解决方案(创建另一个dao方法来执行某些操作)是如此丑陋。
那么,有没有办法克服这个问题呢?还是我错过了什么?谢谢你的帮助。
发布于 2014-06-24 04:13:48
根据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。
发布于 2021-06-22 17:37:12
将其与表格一起使用
@Where(clause = "enabled = true") @Table(name= "user") public class User {}
https://stackoverflow.com/questions/24373368
复制相似问题