私にはBookとAuthorの2つのエンティティがあります。
@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を作成しようとしています。2つのエンティティ間の結合の使用方法について混乱しています。何か案が?
前もって感謝します。