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 查看:
