关于JPQL中where子句中is empty的问题

    请高手帮忙解释下WHERE子句中IS EMPTY的意思。

    我理解是在一个表User中,数据如下。

    +----+-----------+-----------+------------+---------------------+
    | id | username | userage | usergender | userhobby    |
    +----+-----------+-----------+------------+---------------------+
    | 10 | nana       |      20    |          1    |                           |
    | 11 | longbao  |      20    |          1    |                           |
    | 12 | hali         |      20    |          1    | sing dancing       |
    +----+-----------+-----------+------------+---------------------+

    JPQL:select u from User u where u.userhobby IS EMPTY;

    应该出来的内容为前两条记录,但是不是是检索不到,而且console中打出来的hibernate语句为:

        select
        user0_.id as id3_,
        user0_.userage as userage3_,
        user0_.usergender as usergender3_,
        user0_.userhobby as userhobby3_,
        user0_.username as username3_
    from
        test123.user user0_
    where
        not (exists (select
            user0_.id
        from
            test123.user user0_))

    这该怎么理解呢?

 

同事“秀才”点了一下,应该是对于一对多的关系才会有这中用法。

用户表中的用户对应多个地址,但是通过这个来检索出没有地址登记的用户。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值