Java Hql,如何在具有一对多关系的表之间编写联接查询?
我有Java Hql,如何在具有一对多关系的表之间编写联接查询?,java,mysql,hibernate,hql,Java,Mysql,Hibernate,Hql,我有2张表格第一个一个与第二个有一个关系 类作者 @Entity @Table(name = "Author") Public class Author{ @Id @Column(name = "AuthorId") private int autherId; @Column(name = "AuthorName") private String authorName; @OneToMany @JoinColumn(name="Aut
2张表格<代码>第一个
一个与第二个
有一个
关系
类作者
@Entity
@Table(name = "Author")
Public class Author{
@Id
@Column(name = "AuthorId")
private int autherId;
@Column(name = "AuthorName")
private String authorName;
@OneToMany
@JoinColumn(name="AuthorId",referencedColumnName="AuthorId")
List<Book> Books;
//getter and setter
}
我如何编写一个Hql
查询,这样我就可以得到所有作者的书,而且书名必须以hello
我知道使用这样的查询
from Author;
我可以拿到所有作者的书,但如何给书设定条件呢?我想是这样的:
select a from Author as a join a.Book as ab where ab.AuthorId like '%"hello"%';
虽然不确定a.Book,但它也可能是a.Books,因为你的专栏名就是这样命名的。它起作用了。但是,根据我的映射,不是加入a.Book
,而是要使用加入a.Books
。
select a from Author as a join a.Book as ab where ab.AuthorId like '%"hello"%';