(4)OneToOne联合单向外键关联: @JoinColumns
来源:互联网 发布:cmmi软件成熟度模型 编辑:程序博客网 时间:2024/06/05 14:59
Wife中是联合主键
在利用@IdClass(WifePK.class)方式时,主键类(WifePK)中的属性和Wife中的属性要相同
@Entity@IdClass(WifePK.class)public class Wife { private int id; private String name; @Id public int getId() { return id; } public void setId(int id) { this.id = id; } @Id public String getName() { return name; } public void setName(String name) { this.name = name; } }
主键类
public class WifePK implements Serializable{ private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public int hashCode() { return id*10+name.hashCode(); } @Override public boolean equals(Object obj) { if(obj instanceof WifePK){ WifePK pk=(WifePK) obj; if(pk.id==this.id&&pk.name==this.name) { return false; } } return true; }}
husband类
@Entitypublic class Husband { private int id; private String name; private int age; private Wife wife; @Id @GeneratedValue /* * 使用@Id注解可以将属性标识为id,一般情况让hibernate自动生成策略来生成主键 * 这种写法:会自动根据数据库类型,生成不同的自增长。在mysql中是auto_increment * 在oracle中是sequence * 所以主键要有两个注解 */ public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @OneToOne//Husband 与Wife 是一一对应关系 @JoinColumns( { @JoinColumn(name="wifeid",referencedColumnName ="id") , @JoinColumn(name="wifeName",referencedColumnName ="name") }) public Wife getWife() { return wife; } public void setWife(Wife wife) { this.wife = wife; }}
@JoinColumns:即 @JoinColumn数组,定义了关联的组合外键,显式指明referencedColumnNames是种好的实践方式。若不指定,默认生成策略是wi_id wi_name
,@JoinColumn设置name,只是重命名而已
阅读全文
0 0
- (4)OneToOne联合单向外键关联: @JoinColumns
- Hibernate学习总结:OneToOne单向外键关联
- Hibernate关系映射(一)一对一单向外键关联@OneToOne Annotation方式
- hibernate一对一单向外键关联_Annotation_联合主键
- Hibernate关系映射(二)一对一双向外键关联@OneToOne Annotation方式
- JPA/hibernate @joincolumns 联合主键关联
- hibernate一对一单向外键关联(Annatation)
- 036:一对一单向外键关联(在xml中)
- Hibernate之一对多单向外键关联(OneToMany)
- hibernate--一对一单(双)向外键关联
- Hibernate关系映射级别注解(一对一双向外键关联、一对一双向外键联合主键)
- hibernate一对一单向外键关联
- Hibernate_一对一单向外键关联_Annotation
- Hibernate_一对一单向外键关联_XML
- hibernate一对一单向外键关联_Annotation
- hibernate一对一单向外键关联_XML
- 03-一对多单向外键关联
- hibernate Annotation一对一单向外键关联
- 《汇编语言》王爽著——学习资料
- mysql5.7官网直译SQL语句优化--索引条件压入优化
- 数据结构-二叉树算法拓展
- 朴素贝叶斯算法
- NumPy教程之(四)
- (4)OneToOne联合单向外键关联: @JoinColumns
- HDU 4081-Qin Shi Huang's National Road System
- (转)雷军:努力工作,克制贪婪,是世界上最笨也最高明的办法
- JavaShowAlgorithm-Binary Tree Maximum Path Sum 二叉树最大路径和
- 【回顾】北交大博士:强化学习与策略评估
- 欢迎使用CSDN-markdown编辑器
- 从PM到GAN——LSTM之父Schmidhuber横跨22年的怨念
- 计算机网络——学习资料(更新.......)
- Centos 6.x 更新内核 2.6->4.13