(JPA)在连接期间在ON子句中追加条件

时间:2016-09-06 09:09:19

标签: jpa jpql

我需要这种格式的JPQL:

SELECT *
FROM Person p
LEFT JOIN Address a ON p.id = a.id AND a.flat = 100;

但是当我运行代码时,稍微修改了查询,以后数据的输出发生了变化..

SELECT * FROM Person p LEFT JOIN Address a ON p.id = a.id where a.flat = 100;

2 个答案:

答案 0 :(得分:0)

我想你想格式化sql输出。

因此对于hibernate,您可以设置hibernate.format_sql=true以格式化sql。

如果您使用的是春季启动,则可以通过spring.jpa.properties.hibernate.format_sql=true简单地配置它。

答案 1 :(得分:0)

JPQL不允许加入任意其他根对象,所以你不能在JPQL中这样做;只允许你加入关系。各个供应商可能会提供供应商扩展,以允许跨越任意根,但您会失去可移植性。

要提供更多内容,您必须发布实际的JPA实体,而您还没有。