Java 如何使用上的子句创建Spring数据jpa存储库

Java 如何使用上的子句创建Spring数据jpa存储库,java,mysql,sql,spring,repository,Java,Mysql,Sql,Spring,Repository,假设我们有两个类A和B: A类: public class A {private Long id;} B类: public class B {private Long id; private String name ; private Boolean isDeleted = false; } 是否有一种方法可以使连接查询的结果具有除条件ON之外的其他条件 我尝试了这个方法,但没有成功,编译器无法识别org.hibernate.hql.internal.ast.QuerySyntaxExcep

假设我们有两个类A和B: A类:

public class A {private Long id;}
B类:

public class B {private Long id; private String name ; private Boolean isDeleted = false; }
是否有一种方法可以使连接查询的结果具有除条件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")