- 浏览: 450441 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (377)
- Java (66)
- C++ (0)
- VC++ (0)
- .net (1)
- css (36)
- 数据库 (22)
- html (2)
- extjs (1)
- jpbm (0)
- javascript (31)
- 物资管理 (1)
- java基础 (5)
- C# (0)
- Android (56)
- window service (1)
- 其他 (2)
- Web服务器 (7)
- jbpm (1)
- eclipse (2)
- tomcat (3)
- java字符串与二进制的相互转化 (1)
- Oracle 数据库 (6)
- FreeMarker (8)
- 浏览器 (1)
- php (1)
- photoshop (6)
- spring (4)
- spring mvc (2)
- Acegi (1)
- webStorm 3.0 (4)
- Mongodb (8)
- mysql (9)
- 软件开发:需求分析 (1)
- 把Java程序作为Windows系统服务 (1)
- nodejs (4)
- json (1)
- 缓存 (1)
- J2ee (2)
- Flash报表 (1)
- MyEclipse+Maven+Tomcat (11)
- 生活 (1)
- Ubuntu (1)
- Bootstrap (1)
- jquery easy ui (2)
- 敏捷开发 (1)
- phone gap (1)
- rest (1)
- 移动开发 (22)
- Redis + Jedis + Spring (3)
- anroid (7)
- grunt 教程 (7)
- PhoneGap (2)
- sublime text (7)
- mariadb (1)
- linux (1)
- maven (2)
- jquery (1)
- ActiveMQ (1)
- LVS Nginx (1)
- nginx (6)
- ngnix (1)
- 爱因斯坦 (1)
- 天干地支 (1)
最新评论
-
muqingren:
...
Maven多模块布局实例详解 -
shutear:
解决了我的难题,谢谢分享!
Unable to load configuration. - action - file:/D:/studytool/apache-tomcat-6.0.16 -
702346318:
[img][/img][flash=200,200][/fla ...
CAS单点登录完整教程(上)【转】 -
liuguofeng:
PersonS631887934 写道学习中。。 有个问题想请 ...
js constructor属性 -
S631887934:
学习中。。 有个问题想请教楼主为什么要加上Person.pro ...
js constructor属性
1.Hibernate中一对多的双向关联
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class table="T_Orgnization" name="com.love.oa.model.Orgnization">
<id name="id">
<generator class="native" />
</id>
<property name="name" />
<property name="sn" />
<many-to-one name="parent" column="pid"/>//多对一 *------1
<set name="chilren" inverse="true" cascade="all">//一对多 1----*
<key column="pid"/>
<one-to-many class="com.love.oa.model.Orgnization"/>
</set>
</class>
</hibernate-mapping>
package com.love.oa.model;
import java.io.Serializable;
import java.util.Set;
/**
* @hibernate.class table="T_Orgnization"
*/
public class Orgnization implements Serializable {
/**
* @hibernate.id
* generator-class="native"
*/
private int id;
/**
* @hibernate.property
*/
private String name;
/**
* @hibernate.property
*/
private String sn;
/**
* @hibernate.many-to-one
* column="pid"
*/
private Orgnization parent;
/**
* @hibernate.set
* @hibernate.key column="pid"
* @hibernate.one-to-many class="com.love.oa.model.Orgnization"
*/
private Set chilren;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public Orgnization getParent() {
return parent;
}
public void setParent(Orgnization parent) {
this.parent = parent;
}
public Set getChilren() {
return chilren;
}
public void setChilren(Set chilren) {
this.chilren = chilren;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Orgnization other = (Orgnization) obj;
if (id != other.id)
return false;
return true;
}
}
我在测试插入数据库的时候
@SuppressWarnings("unchecked")
public void testAddOrgination() throws Exception {
Session session = baseDao.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
Set hashSet = new HashSet();
Orgnization org1 = new Orgnization();
org1.setName("开发部");
org1.setSn("111");
org1.setParent(null);
Orgnization org2 = new Orgnization();
org2.setName("开发部1");
org2.setSn("222");
org2.setParent(org1);
hashSet.add(org2);
//se.save(org2);
Orgnization org3 = new Orgnization();
org3.setName("开发部2");
org3.setSn("333");
org3.setParent(org1);
//se.save(org3);
hashSet.add(org3);
System.out.println(hashSet.size());
//这里的结果始终是1,因为po实现了hashcode和equals方法这里设置的Id做比较,这里就会出现一个插入数据库的时候少一条数据,因为Set集合不能插入重复的数据,这里我要实现树状结构,所以ID是相同的,造成了插入的数据不对。悲剧了啊!真的悲剧。。。
org1.setChilren(hashSet);
session.save(org1);
transaction.commit();
session.close();
}
发表评论
-
非对称加密算法-DH算法
2014-11-04 10:53 1458http://blog.csdn.net/kongqz/a ... -
非对称加密算法-RSA算法
2014-11-04 10:52 982一、概述 1、RSA是基于大数因子分解难题。目前各种主流 ... -
OAuth的机制原理讲解及开发流程
2014-11-04 10:01 791本想前段时间就把自己通过QQ OAuth1.0、OAuth2 ... -
FindBugs规则整理
2014-10-30 12:46 1939http://blog.csdn.net/jdsjlzx/a ... -
Java网络编程——远程通讯可选技术及原理
2014-10-28 17:40 648(此文系转载,具体出 ... -
UML类图几种关系的总结
2014-10-25 18:13 702在UML类图中,常见的有以下几种关系: 泛化(Gene ... -
关联、组合、聚合、依赖关系比较
2014-10-25 17:06 639类之间的关系种类: Generalization(泛化), ... -
组合,聚合,关联,依赖 的区别
2014-10-25 12:37 760依赖与关联 依赖(Depen ... -
设计指导原则
2014-10-18 15:38 816http://www.cnblogs.com/netfocu ... -
Java缩略图生成库之Thumbnailator应用说明
2014-10-12 18:17 747Thumbnailator 是一个为Java界面更流畅的缩略 ... -
spring mvc 使用jcrop进行头像剪切
2014-10-12 17:33 1450源码下载地址:http://download.csdn.n ... -
Lucene / Solr 开发经验
2014-10-08 22:06 900转自 Lucene/Solr开发经 ... -
高并发量网站解决方案
2014-10-08 22:03 713一个小型的网站,可以使用最简单的html静态页面就实现了,配 ... -
response.setHeader()的用法
2014-08-04 11:35 680response.setHeader()的用 ... -
iBatis整理——Spring环境下批处理实现
2014-07-09 11:09 425http://snowolf.iteye.com/blog/ ... -
Java NIO系列教程(八) SocketChannel
2014-09-14 11:06 539原文链接 作者:Jakob Jenkov ... -
Java NIO系列教程(七) FileChannel
2014-07-06 17:54 0原文链接 作者:Jakob Jenkov 译 ... -
Java NIO系列教程(六) Selector
2014-07-06 17:53 0原文链接 作者:Jakob Jenkov 译者:浪迹v 校对 ... -
Java NIO系列教程(五) 通道之间的数据传输
2014-07-06 17:53 0原文地址:http://tutorials.jenkov. ... -
Java NIO系列教程(四) Scatter/Gather
2014-07-06 17:52 431Java NIO开始支持scatter/gather,sca ...
相关推荐
equals()和hashcode()这两个方法都是从object类中继承过来的。当String 、Math、还有Integer、Double。。。。等这些封装类在使用equals()方法时,已经覆盖了object类的equals()方法.
假设我们有一个自定义类`Person`,我们需要为其实现`hashCode`和`equals`方法: ```java public class Person { private String name; private int age; // 构造函数和其他方法省略... @Override public ...
通过对 hashCode 和 equals 方法的深入分析,我们可以更好地理解 Java 集合的实现原理和哈希表的工作机制。 一、hashCode 方法简介 hashCode 方法是 Java 中 Object 类的一个方法,用于返回对象的哈希码值。这个...
在 Java 中,有很多类忽略了 hashCode() 和 equals() 方法的默认实现,以便提供更深层次的语义可比性。例如,Integer 类重写了 equals() 方法,使得两个 Integer 对象可以根据其整数值进行比较。这种基于值的 Equal ...
在Java编程语言中,`equals()` 和 `hashCode()` 方法是Object类中的两个核心方法,所有类都默认继承自Object类。这两个方法在处理对象比较和集合操作时起着至关重要的作用。当我们创建自定义类并需要对对象进行精确...
在Java编程语言中,`hashCode()` 和 `equals()` 是两个非常重要的方法,它们主要用于对象的比较和哈希表(如HashMap)的操作。标题提到的"HashCode相同equals不同的2位字符集合算法"涉及到的是一个特定场景:两个...
- 相反,如果两个对象的`hashCode()`值相同,并不能保证这两个对象通过`equals()`方法比较也是相等的。这是因为可能存在不同的对象具有相同的哈希值,这种情况称为哈希冲突。 - 为了避免哈希冲突带来的性能问题,在...
### hashCode和equals方法详解 #### 一、hashCode方法解析 在深入探讨`hashCode`方法之前,我们需要了解Java集合框架的基本概念。Java集合框架主要包括两大类集合:`List`和`Set`。 - **List**:这是一个有序集合...
本文介绍了Java语言不直接支持关联数组,可以使用任何对象作为一个索引的数组,但在根Object类中使用 hashCode()方法明确表示期望广泛使用HashMap。理想情况下基于散列的容器提供有效插入和有效检索;直接在对象模式...
在这篇文章中,我将告诉大家我对hashCode和equals方法的理解。我将讨论他们的默认实现,以及如何正确的重写他们。我也将使用Apache Commons提供的工具包做一个实现。 hashCode()和equals()定义在Object类中,这...
equals 方法和 hashCode 方法都是用于比较两个对象是否相等的,但它们的实现方式不同。equals 方法是比较两个对象的内容是否相等,而 hashCode 方法是根据对象的内容来计算哈希码。在实际开发中,我们需要根据具体...
在Java编程语言中,`equals()` 和 `hashCode()` 方法是对象的基本组成部分,它们在很多场景下都发挥着至关重要的作用。这两个方法与对象的相等性比较和哈希表(如HashMap、HashSet)的运作紧密相关。这篇博客将深入...
在Java编程语言中,`hashCode()` 和 `equals()` 方法是两个非常重要的概念,尤其是在处理对象比较和哈希表(如 `HashMap` 或 `HashSet`)时。这两个方法来源于 `Object` 类,是所有Java类的基类,因此,每个自定义类...
在Java编程中,`equals()` 和 `hashCode()` 方法是Object类中的两个重要方法,它们在处理对象相等性以及在哈希表(如HashSet、HashMap)中起到关键作用。当自定义类时,有时需要根据业务逻辑重写这两个方法以满足...
Java 中 equals、hashcode 和==的区别是 Java 编程语言中一个经常遇到的问题。这三个概念都是用来比较对象的,但是它们之间存在着本质的区别。 首先,==号是Java中的一个运算符,用于比较两个对象的内存地址是否...
关于重写equals、hashcode以及compareTo方法! equals()方法是Object类中的一个方法,它用于比较两个对象是否相等。然而,它的默认实现是比较对象的引用(地址),而不是比较对象的实际内容。因此,在某些情况下,...
在Java编程语言中,`equals()`, `hashCode()` 和 `toString()` 是三个非常重要的方法,它们主要用于对象的比较、哈希存储以及打印对象信息。这三个方法是Java对象的基础特性,对于理解和开发高质量的Java程序至关...
"关于Object中equals方法和hashCode方法判断...equals 和 hashCode 方法都是用于比较两个对象是否相同的,但它们的实现机理和作用域却有所不同。通过重写这两个方法,我们可以更好地比较对象的内容,并避免对象的重复。
在Java编程语言中,`equals()` 和 `hashCode()` 方法是两个非常重要的成员,尤其是在处理对象比较和集合操作时。这两个方法通常与`Object`类中的默认实现相关联,但为了在实际开发中实现正确的对象比较和哈希表操作...
如果两个对象通过`equals()`方法比较后相等,那么它们的`hashCode()`方法必须返回相同的值。这是因为哈希表(如`HashSet`)依赖于`equals()`和`hashCode()`的一致性来正确地存储和查找对象。如果两个对象相等但它们...