【问题标题】:Hibernate HQL What is a correct syntax for negating the 'is' statementHibernate HQL 否定“is”语句的正确语法是什么
【发布时间】:2018-05-30 20:53:22
【问题描述】:

我无法解决以下问题: 我已经声明了一个具有一个布尔字段“shallBeDeleted”的 JPA 实体 该字段是布尔类型(不是原始布尔)。它可能包含空值。

在我的 HQL 中,我想选择 shallBeDeleted 不正确的用户。意味着我想获取所有行,将 shallBeDeleted 设置为 null 或 false

select new my.package.UserModel(
            u.uuid,d.userDataId,.....) 
            from User u left join u.userData d 
            where u.uuid = :id AND u.shallBeDeleted not true order by d.modified desc

这会产生一个错误:

“意外令牌:真”

【问题讨论】:

    标签: java hibernate hql


    【解决方案1】:

    只需使用:

    u.shallBeDeleted is null or u.shallBeDeleted = false
    

    【讨论】:

    • 或者需要对条件进行分组以获得正确的结果。 (u.shallBeDeleted 为 null 或 u.shallBeDeleted = false)
    猜你喜欢
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    相关资源
    最近更新 更多