hibernate笔记-009-联合主键一对一映射
2017-06-09 16:16
447 查看
注解 @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;
@Override
public 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;
}
@Override
public 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;
// 主键类
public class TeacherPK implements Serializable {
private static final long serialVersionUID = 6939546618791078447L;
private Long id;
private String name;
@Override
public 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;
}
@Override
public 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; @Id private Long id; @Id private 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; } }
相关文章推荐
- Hibernate关系映射(5)_一对一单向联合主键关联
- Hibernate笔记③--集合映射、组合映射、联合主键、查询案例
- Hibernate关系映射级别注解(一对一双向外键关联、一对一双向外键联合主键)
- hibernate笔记--基于主键的单(双)向的一对一映射关系
- [原创]java WEB学习笔记85:Hibernate学习之路-- -映射 一对一关系 ,基于主键方式实现
- Hibernate视频学习笔记(4)多对一及一对一关联映射
- hibernate映射一对一关联(主键关联)
- Hibernate映射详解(三)--一对一主键关联映射
- Hibernate联合主键映射以及组件映射
- Hibernate笔记4--component和联合主键
- hibernate映射总结详解: 按主键映射一对一关联关系
- Hibernate映射详解(三)--一对一主键关联映射
- Hibernate关系映射 --- 一对一实例分析(双向关联,是基于主键的)
- hibernate笔记(八)一对一关联映射分析
- Hibernate注解映射联合主键的三种主要方式
- hibernate一对一单向外键关联_Annotation_联合主键
- Hibernate中联合主键映射时有一个也是外键的一种解决方法
- Hibernate关系映射(4)_一对一双向主键关联
- Hibernate联合主键映射规则和数据查询原理
- Hibernate联合主键映射规则和数据查询原理