日期:2011-03-22 16:13:00 来源:本站整理
hibernate3学习笔记(十一)|复合主键[Java编程]
本文“hibernate3学习笔记(十一)|复合主键[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
新建数据库User:
1.CREATE TABLE user (
2. name VARCHAR(100) NOT NULL,
3. phone VARCHAR(50) NOT NULL,
4. age INT,
5. PRIMARY KEY(name, phone)
6.);
现将name和phone定义成复合主键.辨别利用2种办法以下:
办法1.复合主键字段直接包含在PO类中.
User.java(需求实现Serializable接口,并定义equals()和hashCode()办法)
1.package com.hb3.pack_03.model;
2.
3.import java.io.Serializable;
4.import org.apache.commons.lang.builder.EqualsBuilder;
5.import org.apache.commons.lang.builder.HashCodeBuilder;
6. 7.public class User implements Serializable {
8. 9. private static final long serialVersionUID = -8377583111386512407L;
10. 11. private String name;
12. private String phone;
13. private Integer age;
14.
15. public User() {
16. }
17. 18. public Integer getAge() {
19. return age;
20. }
21. 22. public void setAge(Integer age) {
23. this.age = age;
24. }
25. 26. public String getName() {
27. return name;
28. }
29. 30. public void setName(String name) {
31. this.name = name;
32. }
33. 34. public String getPhone() {
35. return phone;
36. }
37. 38. public void setPhone(String phone) {
39. this.phone = phone;
40. }
41.
42. public boolean equals(Object obj) {
43. if(obj == this) {
44. return true;
45. }
46.
47. if(!(obj instanceof User)) {
48. return false;
49. }
50.
51. User user = (User) obj;
52. return new EqualsBuilder()
53. .append(this.name, user.getName())
54. .append(this.phone, user.getPhone())
55. .isEquals();
56. }
57.
58. public int hashCode() {
59. return new HashCodeBuilder()
60. .append(this.name)
61. .append(this.phone)
62. .toHashCode();
63. }
64.}
以上是“hibernate3学习笔记(十一)|复合主键[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论