由于实际中双向映射比较少,所以我这里总结一下几种常见的单向映射
一对一单向外键映射
Annotation版本:
我们这里使用Husband和Wife这两个类来实现外键的关系,这里我们用代码来解释一下。举例如下:
Husband类
package com.sg.hibernate.model;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
publicclass Husband {
privateintid;
private String name;
private Wife wife;
@Id
@GeneratedValue
publicint getId(){
returnid;
}
publicvoid setId(int id) {
this.id = id;
}
public String getName() {
returnname;
}
publicvoid setName(String name) {
this.name = name;
}
@Embedded
@OneToOne
@JoinColumn(name=wifeId)
public Wife getWife() {
returnwife;
}
publicvoid setWife(Wife wife) {
this.wife = wife;
}
}
Wife类:
package com.sg.hibernate.model;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
@Embeddable
publicclass Wife {
privateintid;
private String name;
@Id
@GeneratedValue
publicint getId() {
returnid;
}
publicvoid setId(int id) {
this.id = id;
}
public String getName() {
returnname;
}
publicvoid setName(String name) {
this.name = name;
}
}
至于关于XML的配置,比较少用,所以这里就不写了。