次の例で説明したい問題があります。
JPAクラスの人物:
@ManyToMany(mappedBy = "persons")
private List<Car> cars= new ArrayList<>();
public void setCars(List<Car> cars) {
this.cars= cars;
}
public List<Car> getCars() {
return cars;
}
問題が発生する場所:
サーブレット クラス:
Person person = genericDao.findOne(1);
request.setAttribute("person", person.getName());
List<Car> cars= new ArrayList<Car>();
cars= person.getCars();
request.setAttribute("cars", cars);
問題は、車を手に入れようとするときです。データベースから自動的に取得され、Person クラスの配列に保存されるわけではありません。多対多の関係を持つ JPA クラスをセットアップするにはどうすればよいですか。そこから関係を持つオブジェクトを簡単に取得できます。
車.java
輸入品は取り残されました!
@Entity
@Table(name = "DSD_Cars")
public class Car extends ModifiableEntity {
private String name;
private String description;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@ManyToMany
@JoinTable(
name="DSD_Persons_Cars",
joinColumns = {@JoinColumn(name="IDCar", referencedColumnName = "ID")},
inverseJoinColumns = {@JoinColumn(name = "IDPerson", referencedColumnName = "ID")}
)
private List<Person> persons= new ArrayList<>();
public void setPersons(List<Person> persons) {
this.persons= persons;
}
public List<Persons> getPersons() {
return persons;
}}