浅谈用Hibernate做模型层时抽取ID为基类

在做模型时,我们总是定义很多的Javabean,可以用它来传替数据。我们用Hibernate做持久层时,在建表时总是把字段id设置成主键,它是与项目,可以说没什么关系,这样我们更新数据就更安全了,现在我们来把他抽取出来,作为模型层的基类,在其中我们可以重写equals(),hashCode(),toString()方法了。代码如下:

成都创新互联公司专注于永修网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供永修营销型网站建设,永修网站制作、永修网页设计、永修网站官网定制、成都微信小程序服务,打造永修网络公司原创品牌,更为您提供永修网站排名全网营销落地服务。

Java代码

 
 
 
  1. packagecom.hyq.blog.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. import org.apache.commons.lang.builder.ReflectionToStringBuilder;     
  8.     
  9. public classBaseModel implements Serializable{     
  10.     
  11. private String id;     
  12.     
  13. public String getId(){     
  14. return id;     
  15. }     
  16. public void setId(String id){     
  17. this.id=id;     
  18. }     
  19.     
  20. //重写equals()方法     
  21. public boolean equals(Object obj){     
  22. if(this==obj)return true;     
  23. if(!(obj instance BaseModel))return false;     
  24.     
  25. BaseModel target=(BaseModel)obj;     
  26. if(this.getId()!=null&&this.getId().length()>0){     
  27. return this.getId().equals(target.getId());     
  28. }     
  29. if(target.getId()!=null&&target.getId().length()>0){     
  30. return false;     
  31. }     
  32.     
  33.     
  34. return EqualsBuilder.reflectionEquals(this,obj);     
  35. }     
  36.     
  37. //重写hashCode()方法     
  38. public int hashCode(){     
  39. if(this.getId()!=null&&this.getId().lenght()>0){     
  40. return this.getId().hashCode();     
  41. }     
  42. return HashCodeBuilder.reflectionHashCode(this);     
  43. }     
  44.     
  45. //重写toString()方法     
  46. public String toString(){     
  47. return ReflectionToStringBuilder.toString(this);     
  48. }     
  49. }    

分享名称:浅谈用Hibernate做模型层时抽取ID为基类
地址分享:http://www.hantingmc.com/qtweb/news46/96596.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联