在做模型时,我们总是定义很多的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);
- }
- }
【编辑推荐】