hibernate3学习笔记(十一)|复合主键 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-19
t;mapping resource="com/hb3/pack_03/model/User.hbm.xml" />
......
测试代码如下: 1.package com.hb3.pack_03;2.3.import org.hibernate.Session;4.import org.hibernate.SessionFactory;5.import org.hibernate.Transaction;6.import org.hibernate.cfg.Configuration;7. 8.import com.hb3.pack_03.model.User;9. 10.public class BusinessService {11. 12. public static void main(String[] args) {13.14. Configuration config = new Configuration().configure();15. SessionFactory sessionFactory = config.buildSessionFactory();16. Session session = sessionFactory.openSession();17. 18. User user = new User();19. user.setName("shenbin");20. user.setPhone("0970123456");21. user.setAge(28);22. Transaction tx = session.beginTransaction();23. session.save(user);24. tx.commit();25.26. user = (User) session.load(User.class, user);27.28. System.out.println(user.getAge() + "\t" + user.getName() + "\t" + user.getPhone());29. 30. session.close();31. sessionFactory.close();32. }33.} hibernate3学习笔记(十一)|复合主键(3)时间:2011-02-03请注意:在实际测试过程中,如果数据库已经有数据存在,则不需要上面的黑题部分向数据库追加数据。 另外还请留意的是,光有session.save(user);而没有tx.commit();的话,数据不会被持久到数据库中的。 方法2.复合主键字段独立到另一个类中。 UserPK.java(需要实现Serializable接口,并定义equals()和hashCode()方法) 1.package com.hb3.pack_04.model;2.3.import java.io.Serializable;4. 5.import org.apache.commons.lang.builder.EqualsBuilder;6.import org.apache.commons.lang.builder.HashCodeBuilder;7. 8.public class UserPK implements Serializable {9. 10. private static final long serialVersionUID = -2457999265373664790L;11. 12. private String name;13. private String phone;14. 15. public String getName() {16. return name;17. }18. public void setName(String name) {19. this.name = name;20. }21. public String getPhone() {22. return phone;23. }24. public void setPhone(String phone) {25. this.phone = phone;26. }27. public boolean equals(Object obj) {28. if(obj == this) {29. return true;30. }31.32. if(!(obj instanceof User)) {33. return false;34. }35.36. UserPK pk = (UserPK) obj;37. return new EqualsBuilder()38. .append(this.name, pk.getName())39. .append(this.phone, pk.getPhone())40. .isEquals();41. }42.43. public int hashCode() {44. return new HashCodeBuilder()45. .append(this.name)46. .append(this.phone)47. .toHashCode();48. }49.} hibernate3学习笔记(十一)|复合主键(4)时间:2011-02-03User.java 1.package com.hb3.pack_04.model;2.3.import java.io.Serializable;4. 5.public class User implements Serializable {6. 7. private static final long serialVersionUID = -863048146 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于hibernate3学习笔记(十一)|复合主键 - 编程入门网的所有评论