联合主键实现Serializable接口,重写equals和hasCode方法
2011-12-18 09:19
253 查看
序列化的目的:在使用多台服务器时,其中一台坏了,序列化后可以将该服务器的对象传给另外一台服务器。还有假如内存存满了,可以使用虚拟内存(硬盘临时分出的空间),序列化后可以将内存的部分内容写到硬盘上。
重写equals是为了保证DB内的数据与内存的数据同步,而它们都以主键来区分数据,
@Override
public boolean equals(Object o) {
if(o instanceof OPK) {
OPK oPK = (OPK)o;
if(this.id == pk.getId() && this.name.equals(pk.getName()) {
return true;
}
}
return false;
}
重写hasCode
如果对象是装在哈希表时,就要查hasCode,通过哈希码查找要求的对象
@Override
public int hasCode() {
return this.name.hasCode();
}
重写equals是为了保证DB内的数据与内存的数据同步,而它们都以主键来区分数据,
@Override
public boolean equals(Object o) {
if(o instanceof OPK) {
OPK oPK = (OPK)o;
if(this.id == pk.getId() && this.name.equals(pk.getName()) {
return true;
}
}
return false;
}
重写hasCode
如果对象是装在哈希表时,就要查hasCode,通过哈希码查找要求的对象
@Override
public int hasCode() {
return this.name.hasCode();
}
相关文章推荐
- 联合主键实现Serializable接口,同时重写equals和hasCode方法 的原因和步骤
- hibernate中联合主键要同时重写hashCode()和equals()方法
- equals和hashCode方法重写 以及hibernate的联合主键生成策略的生成类的生成
- 8_实现Serializable接口_重写equals和hashCode方法
- Hibernate中用到联合主键的使用方法,为何要序列化,为何要重写hashcode 和 equals 方法
- Hibernate联合主键重写equals和hashCode方法
- 重写equals()与hashcode()方法,及comparable接口的实现
- hibernate中联合主键重写equals和hashCode
- ID的生成策略(hibernate的id生成策略,主键类为什么需要实现序列化接口,同时还要重写hashCode()和equals()方法)
- Java重写equals方法实现去重
- Java重写equals方法实现去重
- java重载与重写的区别+重写父类equals方法的完美实现
- 为基类没有重写Object.Equals 方法的引用类型实现Equals
- ID的生成策略(hibernate的id生成策略,主键类为什么需要实现序列化接口,同时还要重写hashCode()和equals()方法)
- JAVA重写equals和hashCode方法实现不定项分类统计
- Java中equals()方法重写实现代码
- 重写Java Object对象的hashCode和equals方法实现集合元素按内容判重
- Set是如何实现元素不重复的&重写equals()方法之后也必须重写hashCode()方法
- 重写Java Object对象的hashCode和equals方法实现集合元素按内容判重
- Oracle ADF:实现联合主键校验的方法