私は(JPAで)休止状態で多対多の関連付けをしようとしていますが、アソシエーションテーブル(FilmとActor間)は作成されません。Hibernate JPA ManyToManyアソシエーションで作成された結合テーブルがありません。
マイアクタクラス:
@Entity
public class Actor {
private Long id;
private String firstname;
private String lastname;
private int age;
public Actor(){};
public Actor(String firstname, String lastname){
this.firstname=firstname;
this.lastname=lastname;
}
@ManyToMany
@JoinTable(name="actor_films", [email protected](name="actor_id"), [email protected](name="film_id"))
private Set<Film> films=new HashSet<Film>();
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void addFilm(Film film){
this.films.add(film);
}
}
私の映画クラス:すべてのテーブルは私のHSQLデータベース内に作成され
// begin transaction
Film film=new Film("DBZ");
Actor actor=new Actor("Bob","A");
em.persist(actor);
em.persist(film);
film.addActor(actor);
// do commit
:私の主な方法で
@Entity
public class Film {
private Long id;
private String title;
@ManyToMany(mappedBy = "films")
@JoinTable(name="actor_films", [email protected](name="film_id"), [email protected](name="actor_id"))
private Set<Actor> actors=new HashSet<Actor>();
public Film(){};
public Film(String title){
this.title=title;
};
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public void addActor(Actor actor){
this.actors.add(actor);
}
}
は、私はのような何かをします関連テーブルを除きます。だから誰でも私を助けることができます。
あなたの答えをありがとう、私はあなたの解決策を試みますが、変更はありません。関連テーブルはまだ作成されていません。 –