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