JPQL Hibernate访问M:N属性

时间:2015-11-25 08:58:45

标签: java hibernate jpa jpql

我有以下表结构:

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子句一样。

到目前为止我做了什么:

  • 清理和构建,netbeans有时会弄乱那个
  • 重写查询,但不包括:1
  • 然后我的想法用完了。

哦,在JPA下面有一个postgresql库正在运行。

0 个答案:

没有答案