0
我有一個問題,我想用下面的例子來解釋:JPA多對一:獲取元素
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;
}
和那裏的問題表現出來了:
Servlet類:
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類與多對多關係,從中我可以輕鬆地檢索具有關係的對象。
Car.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;
}}
你可以顯示'Car'實體嗎? –
當然,我已經編輯了我的原始消息:) –
究竟是什麼問題? 'person.getCars()'返回空列表?你確定你在數據庫中確實有與該人有關的汽車嗎? – axtavt