Mysql 如何将本机SQL查询转换为java应用程序的jpa查询
您需要创建Book和Author实体并建立映射。 由于您的模式将作者id存储在books表中。。。我假设这里有多对一映射Mysql 如何将本机SQL查询转换为java应用程序的jpa查询,mysql,spring-data-jpa,spring-data,Mysql,Spring Data Jpa,Spring Data,您需要创建Book和Author实体并建立映射。 由于您的模式将作者id存储在books表中。。。我假设这里有多对一映射 SELECT b.books_name,b.books_id FROM BOOKS b JOIN AUTHOR a ON b.AUTHOR_ID = a.AUTHOR_ID WHERE a.AUTHOR_NAME='WILLIAM'; JPA查询 @Entity @Table(name="BOOKS") Class Books { @Id
SELECT b.books_name,b.books_id FROM BOOKS b JOIN AUTHOR a
ON b.AUTHOR_ID = a.AUTHOR_ID WHERE a.AUTHOR_NAME='WILLIAM';
JPA查询
@Entity
@Table(name="BOOKS")
Class Books {
@Id
Integer booksId;
String booksName;
@ManyToOne
@JoinColumn(name="AUTHOR_ID")
Author author;
... more fields
public Books(Integer booksId, String booksName) {
this.booksId = booksId;
this.booksName = booksName;
}
}
@Entity
@Table(name="AUTHOR")
Class Author {
@Id
String authorId;
String authorName;
... more fields
}
@Query(“从图书b中选择新书(b.booksId,b.booksName),其中b.author.authorName='WILLIAM')
列出findMatchingBooks();
提供实体的更多详细信息。比如字段名和mapping.thnks,这很有帮助
@Query("Select new Books(b.booksId, b.booksName) from Books b where b.author.authorName = 'WILLIAM'")
List<Books> findMatchingBooks();