Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate@Where子句_Java_Sql_Hibernate_Jdbc - Fatal编程技术网

Java Hibernate@Where子句

Java Hibernate@Where子句,java,sql,hibernate,jdbc,Java,Sql,Hibernate,Jdbc,我有一个用户类,它有组 @Where(clause = "enabled = 1 and deleted = 0") @Fetch(FetchMode.SUBSELECT) public Set<Group> getGroups() { return groups; } @Where(子句=“enabled=1,deleted=0”) @Fetch(FetchMode.SUBSELECT) 公共集getGroups(){ 返回组; }

我有一个用户类,它有组

    @Where(clause = "enabled = 1 and deleted = 0")
    @Fetch(FetchMode.SUBSELECT)
    public Set<Group> getGroups() {
        return groups;
    }
@Where(子句=“enabled=1,deleted=0”)
@Fetch(FetchMode.SUBSELECT)
公共集getGroups(){
返回组;
}
但当我试图对已存储在DB中且不适合于
@Where
子句的
Group
执行某些操作时,Hibernate会忽略我

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


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

根据启用的
和删除的
字段的类型,您必须以不同的形式编写
@Where
子句

如果您的字段是数字:

@Where(clause = "enabled = 1 and deleted = 0")
如果字段是字符串:

@Where(clause = "enabled = '1' and deleted = '0'")
如果您的字段是布尔值:

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

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

您可能希望使用Criteria API或命名查询作为替代。请准确描述您的问题。显示您正在执行的代码,告诉我们您期望它做什么,并告诉我们它做什么。