hibernate笔记-009-联合主键一对一映射

来源:互联网 发布:阿里云不支持url转发 编辑:程序博客网 时间:2024/06/03 17:28

注解 @JoinColums 的用法

package com.hibernate.entity;import java.io.Serializable;// 主键类public class TeacherPK implements Serializable {private static final long serialVersionUID = 6939546618791078447L;private Long id;private String name;@Overridepublic boolean equals(Object obj) {if (obj instanceof TeacherPK) {TeacherPK teacherPK = (TeacherPK) obj;if (this.id == teacherPK.getId() && this.name.equals(teacherPK.getName())) {return true;}}return false;}public Long getId() {return id;}public String getName() {return name;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((id == null) ? 0 : id.hashCode());result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}public void setId(Long id) {this.id = id;}public void setName(String name) {this.name = name;}}

package com.hibernate.entity;import java.io.Serializable;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.IdClass;import javax.persistence.Table;// 教师类@Entity@Table(name = "t_teacher")@IdClass(value = TeacherPK.class)public class Teacher implements Serializable {private static final long serialVersionUID = 3543286868313801941L;@Idprivate Long id;@Idprivate String name;private String title;public Long getId() {return id;}public String getName() {return name;}public String getTitle() {return title;}public void setId(Long id) {this.id = id;}public void setName(String name) {this.name = name;}public void setTitle(String title) {this.title = title;}}

package com.hibernate.entity;import java.io.Serializable;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.JoinColumns;import javax.persistence.OneToOne;import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator;// 教师证实体类@Entity@Table(name = "t_teachercard")public class TeacherCard implements Serializable {private static final long serialVersionUID = -3211605077508265286L;@Id@GeneratedValue(generator = "teacherCard_GEN")@GenericGenerator(name = "teacherCard_GEN", strategy = "uuid")private String id;@OneToOne(optional = true)@JoinColumns(value = { @JoinColumn(name = "teacher_id", referencedColumnName = "id"), //@JoinColumn(name = "teacher_name", referencedColumnName = "name") })private Teacher teacher;private String position;public String getId() {return id;}public String getPosition() {return position;}public Teacher getTeacher() {return teacher;}public void setId(String id) {this.id = id;}public void setPosition(String position) {this.position = position;}public void setTeacher(Teacher teacher) {this.teacher = teacher;}}


阅读全文
0 0