我需要的JPQL格式如下:(JPA)在ON子句附加條件期間加入
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;
我需要的JPQL格式如下:(JPA)在ON子句附加條件期間加入
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;
我想你想格式化sql輸出。
因此,對於休眠,您可以設置hibernate.format_sql=true
來很好地格式化SQL。
如果您使用的是彈簧啓動,您可以簡單地通過spring.jpa.properties.hibernate.format_sql=true
進行配置。
JPQL不允許加入任意其他根對象,因此您不能在JPQL中這樣做;只允許你加入關係。單個供應商可能會提供供應商擴展以允許跨任意根連接,但是然後您失去了可移植性。
要提供更多信息,您必須發佈實際的JPA實體,而您沒有。
我不需要在這裏格式化,而是需要確切的sql來獲取那些來自前一個的確切結果。我的第一個查詢返回3條記錄,第二條查詢返回1,這是不正確的。 –