首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate @Where子句

问Hibernate @Where子句
EN

Stack Overflow用户
提问于 2014-06-24 03:00:08
回答 2查看 4.1K关注 0票数 4

我有User类,它有组。

代码语言:javascript
复制
    @Where(clause = "enabled = 1 and deleted = 0")
    @Fetch(FetchMode.SUBSELECT)
    public Set<Group> getGroups() {
        return groups;
    }

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

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

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

EN

回答 2

Stack Overflow用户

发布于 2014-06-24 04:13:48

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

如果您的字段是数字:

代码语言:javascript
复制
@Where(clause = "enabled = 1 and deleted = 0")

如果您的字段是字符串:

代码语言:javascript
复制
@Where(clause = "enabled = '1' and deleted = '0'")

如果您的字段是布尔值:

代码语言:javascript
复制
@Where(clause = "enabled = true and deleted = false")

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

票数 3
EN

Stack Overflow用户

发布于 2021-06-22 17:37:12

将其与表格一起使用

@Where(clause = "enabled = true") @Table(name= "user") public class User {}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24373368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档