我有两个实体,书和作者。
@Entity
@Table(name="book")
class Book {
private int id;
private Map<Integer, Author> authors = new HashMap<Integer, Author>();
@Id
@GeneratedValue
@Column(name="id_book")
public int getId() {
return this.id;
}
@OneToMany(fetch=FetchType.EAGER)
@JoinTable(name="book_author", joinColumns= {@JoinColumn(name="id_book")},
inverseJoinColumns = {@JoinColumn(name="id_author", table="author")})
@MapKeyColumn(name="order")
public Map<Integer, Author> getAuthors() {
return authors;
}
}
@Entity
@Table(name="author")
class Author {
private int id;
private String lastname;
private String firstname;
@Id
@Column(name="id_author")
@GeneratedValue
public int getId() {
return id;
}
public String getLastname() {
return lastname;
}
public String getFirstname() {
return firstname;
}
}
一本书有许多按特定顺序列出的作者。现在我正在尝试创建一个 HQL,以便我可以从具有特定名字或姓氏或两者的特定作者那里获取书籍列表。我对如何在两个实体之间使用连接感到困惑。任何想法?
提前致谢。