您的位置:首页 > 其它

hibernate一对一单向外键关联_Annotation_联合主键

2013-01-22 20:46 423 查看


package com.hibernate.rqq;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.JoinColumns;

import javax.persistence.OneToOne;

@Entity

public class Husband {

privateint id;

privateString name;

privateWife wife;

@Id

@GeneratedValue

publicint getId() {

returnid;

}

publicString getName() {

returnname;

}

@OneToOne

@JoinColumns(

{

@JoinColumn(name="wifeid",referencedColumnName="id"),

@JoinColumn(name="wifename",referencedColumnName="name")

}

)

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.Id;

import javax.persistence.IdClass;

@Entity

@IdClass(Wife_PK.class)

public class Wife {

privateint id;

privateString name;

@Id

publicint getId() {

returnid;

}

@Id

publicString getName() {

returnname;

}

publicvoid setId(int id) {

this.id= id;

}

publicvoid setName(String name) {

this.name= name;

}

}

package com.hibernate.rqq;

import java.io.Serializable;

public class Wife_PK implements Serializable {

privateint id;

privateString name;

publicint getId() {

returnid;

}

publicString getName() {

returnname;

}

publicvoid setId(int id) {

this.id= id;

}

publicvoid setName(String name) {

this.name= name;

}

publicboolean equals(Object obj) {

if(objinstanceof Wife_PK) {

Wife_PKpk = (Wife_PK) obj;

if(this.id== pk.getId() && this.name.equals(((Wife_PK) obj).getName())) {

returntrue;

}

}

returnfalse;

}

publicint hashCode() {

returnthis.getName().hashCode();

}

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