select e from E e where e.date is null or e.date.id = :id,执行jpql的时候,因为访问了date属性的id,默认判定date is null条件为false
其实是在使用 e.date.id
的时候会自动生成 e.date_id = date.id
这个子语句,导致无法实现 e.date_id is null
的查询了。
这里需要手动拆成两个查询,再把结果合并一下。
web层用多个查询,就用不了filter组件吧
先参考这个帖子,新接触 JPQL 的开发者经常会进入这个误区。
好的谢谢,顺便问一下,怎么可以把JPQL转化成的SQL语句打印日志
也可以在界面上查看,如下图,通过 Options 设置,通过 View 查看: