谁能在hibernate中解释mappedBy?
我是hibernate的新手,需要使用一对多和多对一的关系。它是我对象中的双向关系,因此我可以从任一方向遍历。mappedBy是推荐的方法,但是,我无法理解。有人能解释一下:
推荐的使用方法是什么?
它解决了什么目的?
为了我的例子,这里是我的带注释的类:
Airline OWNS很多 AirlineFlights
很多都 AirlineFlights属于ONE Airline
航空公司:
@Entity @Table(name="Airline")public class Airline {
private Integer idAirline;
private String name;
private String code;
private String aliasName;
private Set<AirlineFlight> airlineFlights = new HashSet<AirlineFlight>(0);
public Airline(){}
public Airline(String name, String code, String aliasName, Set<AirlineFlight> flights) {
setName(name);
setCode(code);
setAliasName(aliasName);
setAirlineFlights(flights);
}
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="IDAIRLINE", nullable=false)
public Integer getIdAirline() {
return idAirline;
}
private void setIdAirline(Integer idAirline) {
this.idAirline = idAirline;
}
@Column(name="NAME", nullable=false)
public String getName() {
return name;
}
public void setName(String name) {
this.name = DAOUtil.convertToDBString(name);
}
@Column(name="CODE", nullable=false, length=3)
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = DAOUtil.convertToDBString(code);
}
@Column(name="ALIAS", nullable=true)
public String getAliasName() {
return aliasName;
}
public void setAliasName(String aliasName) {
if(aliasName != null)
this.aliasName = DAOUtil.convertToDBString(aliasName);
}
@OneToMany(fetch=FetchType.LAZY, cascade = {CascadeType.ALL})
@JoinColumn(name="IDAIRLINE")
public Set<AirlineFlight> getAirlineFlights() {
return airlineFlights;
}
public void setAirlineFlights(Set<AirlineFlight> flights) {
this.airlineFlights = flights;
}}编辑:
数据库架构:
AirlineFlights的idAirline为ForeignKey,航空公司没有idAirlineFlights。这使得AirlineFlights成为所有者/识别实体?
从理论上讲,我希望航空公司成为航空公司的所有者。
慕的地10843
qq_花开花谢_0
神不在的星期二
牧羊人nacy
随时随地看视频慕课网APP
相关分类