我有以下表结构:
Customer(id, first_name, lastname),
Account(id, balance, interestrate)
在它们之间存在适当的JPA双向m:n关系。 我在帐户对象中有一组属于该银行帐户的客户,以及在该客户类中属于该客户的一组帐户。
我现在想要的是所有帐户及其相应客户的表格表示。如果客户属于多个银行账户,他/她的名字在表格中会出现不止一次,反之亦然。
我已经提出了这个JPQL查询
SELECT a
FROM Accounts a join a.customers c
那很有用。但是,如果我现在想要过滤客户名称,则存在问题
SELECT a
FROM Accounts a join a.customers c
WHERE c.firstname LIKE '%'||:1||'%' OR c.lastname LIKE '%'||:1||'%'
应用参数后,hibernate执行查询而不会抱怨。然而它给出了错误的值。它不以任何方式应用过滤器,就好像没有WHERE子句一样。
哦,在JPA下面有一个postgresql库正在运行。