您的位置:首页 > 其它

hibernate一对一双向外键关联_Annotation

2013-01-22 20:25 465 查看


package com.hibernate.rqq;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.OneToOne;

@Entity

public class Husband {

privateint id;

privateString name;

privateWife wife;

@Id

@GeneratedValue

publicint getId() {

returnid;

}

publicString getName() {

returnname;

}

@OneToOne

@JoinColumn(name="wifeid")

publicWife getWife() {

returnwife;

}

publicvoid setWife(Wife wife) {

this.wife= wife;

}

publicvoid setId(int id) {

this.id= id;

}

publicvoid setName(String name) {

this.name= name;

}

}

package com.hibernate.rqq;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.OneToOne;

@Entity

public class Wife {

privateint id;

privateString name;

privateHusband husband;

@Id

@GeneratedValue

publicint getId() {

returnid;

}

publicString getName() {

returnname;

}

@OneToOne(mappedBy="wife")

/*

* 关联关系由对方(与当前类关联的Husband)中的wife属性主导,

* 双向关系必须设置,否则数据库的两张表中都会生成外键,

* 对方主导的意思就是只在对方类映射的数据库表husband中生成外键

*/

publicHusband getHusband() {

returnhusband;

}

publicvoid setId(int id) {

this.id= id;

}

publicvoid setName(String name) {

this.name= name;

}

publicvoid setHusband(Husband husband) {

this.husband= husband;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: