jpql 可以使用join进行的内连接,join left 左外链接,join right 右外连接
对于上面最常用的场景是当一个对象有一个一对多的关系时,比如一个学生有多本书,查询有一本书名字为aaaa的学生,我们不能直接使student.books.name='aaaaa',因为books是一个数组不是持久化对象,但是我们可以使用内联的方式查询,上面的可以改成 Student s join s.books b where b.name='aaaaa'.
当我们遇到要验证某个学生是否有某本书还可以有另一种方法,比member of
(select p fromMoneySource p where p.id =:ids ) MEMBER of b.moneySource
member of 只支持字段或查询结果,不支持自行输入的文字。
SELECT e FROM app$Employee e WHERE 'write code' MEMBER OF e.codes