簡體   English   中英

如何使用 ON 子句創建 Spring 數據 jpa 存儲庫

[英]how to create a Spring data jpa repository with a clause ON

假設我們有兩個類 A 和 B:Class A:

public class A {private Long id;}

Class B:

public class B {private Long id; private String name ; private Boolean isDeleted = false; }

除了條件 ON 之外,有沒有辦法讓 Join 查詢的結果與其他條件一起出現,但我沒有工作,編譯器無法識別子句 ON org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token

 @Query( "SELECT new com.demo.DTO.resultsDTO(a.id) FROM A ate , B a  ON a.id = b.id WHERE b.isDeleted = false AND b.name = ?1  ")

我還嘗試在 WHERE 子句中包含 a.id = b.id,但它不返回結果。 請幫忙。

您的查詢已關閉,並且正在將老式隱式連接語法與現代(首選)連接語法混合在一起。 這是您應該使用的版本:

SELECT new com.demo.DTO.resultsDTO(a.id)
FROM A a
INNER JOIN B b
    ON a.id = b.id
WHERE
    b.isDeleted = false AND
    b.name = ?1;

您更新的 Java 代碼:

@Query("SELECT new com.demo.DTO.resultsDTO(a.id) FROM A a INNER JOIN B b ON a.id = b.id WHERE b.isDeleted = false AND b.name = ?1")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM