您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页hibernate联合主键

hibernate联合主键

来源:华拓科技网


Hiberanate联合主键设置

首先建表 create table student ( name varchar(20), phone int, age int, constraint primary key(name,phone) )

student表采用name&phone两个字段为联合主键。

然后在eclipse中建立工程,并添加hibernate组件。

然后利用hibernate reverse engineering 从student表反转生成 student.hbm.xml 配置文件和 studentId 与 student两个类(上星期刚开始学hibernate的时候可能是不小心设置了表的联合主键,生成了studentId 与 student两个类,我不明白其中的原因。问了下老师,也没有得到好的答案。让我郁闷了很久)

studentId类部分代码;

public class StudentId implements java.io.Serializable //主键类必须实现该接口 { /**该类实际上是从student联合主键中抽象出来的 ,将name和phone单独设计为一个类**/ private String name; private Integer phone; //为了程序清晰便于迅速阅读,省去了千篇一律的构造函数和getter、setter方法:) /**主键类还需要实现下面两个方法,当然这些工作都是hibernate帮我们完成了,很多时候不得不感叹框架功能确实很强大**/ public boolean equals(Object other){ //省略 } public int hashCode(){ //省略} } studentId类代码: 实体类

public class Student implements java.io.Serializable { //直接将联合主键类StudentId作为成员,而不是直接将 name,phone做为成员 private StudentId id; private Integer age; //同样省去了构造函数和getter、setter方法:) }

Student.hbm.xml部分代码如下:

原文地址: http://blog.sina.com.cn/s/blog_453bed0d01000ami.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务