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

在做项目当中,我们每时每刻都要用到模型层,就比如用Struts+Hibernate做也是一样,本文就将谈谈用Hibernate做模型层时抽取ID为基类的实现。
首页 新闻资讯 行业资讯 浅谈用Hibernate做模型层时抽取ID为基类

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

Java代码

复制

packagecom.hyq.blog.model;         import java.io.Serializable;         import org.apache.commons.lang.builder.EqualsBuilder;     import org.apache.commons.lang.builder.HashCodeBuilder;     import org.apache.commons.lang.builder.ReflectionToStringBuilder;         public classBaseModel implements Serializable{         private String id;         public String getId(){     return id;     }     public void setId(String id){     this.id=id;     }         //重写equals()方法     public boolean equals(Object obj){     if(this==obj)return true;     if(!(obj instance BaseModel))return false;         BaseModel target=(BaseModel)obj;     if(this.getId()!=null&&this.getId().length()>0){     return this.getId().equals(target.getId());     }     if(target.getId()!=null&&target.getId().length()>0){     return false;     }             return EqualsBuilder.reflectionEquals(this,obj);     }         //重写hashCode()方法     public int hashCode(){     if(this.getId()!=null&&this.getId().lenght()>0){     return this.getId().hashCode();     }     return HashCodeBuilder.reflectionHashCode(this);     }         //重写toString()方法     public String toString(){     return ReflectionToStringBuilder.toString(this);     }     }
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

  • 17.

  • 18.

  • 19.

  • 20.

  • 21.

  • 22.

  • 23.

  • 24.

  • 25.

  • 26.

  • 27.

  • 28.

  • 29.

  • 30.

  • 31.

  • 32.

  • 33.

  • 34.

  • 35.

  • 36.

  • 37.

  • 38.

  • 39.

  • 40.

  • 41.

  • 42.

  • 43.

  • 44.

  • 45.

  • 46.

  • 47.

  • 48.

  • 49.

【编辑推荐】

  1. Hibernate对各数据库的连接方言

  2. Hibernate支持Access方言源代码

  3. eclipse下生成HibernateDAO中的几个方法

  4. hibernate中update与saveOrUpdate的区别

  5. HIBERNATE方言

35    2009-06-25 14:16:19    Hibernate