个人理解 : 基于外键的形式就是多对一的形式, 然后对外键进行唯一性约束
@Entity
@Table(name = "annotation_person")
public class AnnotationPerson implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 5259471514164780589L;
@Id
@GenericGenerator(name = "generator", strategy = "uuid")
@GeneratedValue(generator = "generator", strategy = GenerationType.TABLE)
@Column(name="id",length=32)
private String id;
@Column(name = "name", length = 50)
private String name;
//没有加入 noe to noe 的概念,
//没引用对方
public String getId() {
return this.id;
}
在这里,使用man to one 的概念,给表中加上外键
@JoinColumn(name=”p_id”,unique=true)
指定该列的名字和唯一性
/**
* AnnotationCard generated by hbm2java
* 外键的形式加载
*/
@Entity
@Table(name = "annotation_card")
public class AnnotationCard implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -3879101097861737759L;
@Id
@GenericGenerator(name = "generator", strategy = "uuid")
@GeneratedValue(generator = "generator", strategy = GenerationType.TABLE)
@Column(name="id",length=32)
private String id;
@Column(name = "mark", length = 50)
private String mark;
@ManyToOne
@JoinColumn(name="p_id",unique=true)
private AnnotationPerson annotationPerson;
public String getId() {
return this.id;
}
效果