A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这几只是简单的举了一个id,id为自动增长,在实际开发中有什么意思和重要性,要对id进行比较Override
private int z;//自动增长
public int getZ() {
                return z;
        }
        public void setZ(int z) {
                this.z = z;
        }
        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + z;
                return result;
        }
        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                ReflectPoint other = (ReflectPoint) obj;
                if (z != other.z)
                        return false;
                return true;
        }

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 鼓励鼓励!呵呵

查看全部评分

6 个回复

正序浏览
黑马网友  发表于 2011-9-18 13:53:54
7#
Hibernat中,id生成机制很多,我个人一般常用两种,根据需求选择,一种是increment自增长的,自增长好处在于可以方便的进行排序,不好的地方在于他没有一个固定的长度,做在一些id拼折的时候无法实现或不方便实现,另一种uuid.hex(如32位长度),这样的话可以方便解决第一种的缺点,且在排序时可以通过创建时间或人为的写一个排序号来解决排序问题,并且uuid.hex的另一个好处是可以方便的数据库之间的移植,比如oralce移植到sqlsever。

其他id生成机制(没用过,想研究的可以去弄弄):
1.hilo
  通过hi/lo   算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。        
2.seqhilo
  与hilo   类似,通过hi/lo   算法实现的主键生成机制,需要数据库中的   Sequence,适用于支持   Sequence   的数据库,如Oracle。      
  3.increment
  主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:不能在集群下使用。     
4.identity  
  采用数据库提供的主键生成机制。如DB2、SQL   Server、MySQL   中的主键生成机制。     
5.sequence
  采用数据库提供的   sequence   机制生成主键。如   Oralce   中的Sequence。     
  6.native
  由   Hibernate   根据使用的数据库自行判断采用   identity、hilo、sequence   其中一种作为主键生成方式。   
7.uuid.hex
  由   Hibernate   基于128   位   UUID   算法   生成16   进制数值(编码后以长度32   的字符串表示)作为主键。
8.uuid.string
  与uuid.hex   类似,只是生成的主键未进行编码(长度16),不能应用在   PostgreSQL   数据库中。
  9.foreign
  使用外部表的字段作为主键。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-17 12:00:50
地板
比较啊,你要排序当然用id大小排。那叫重写equals和hashcode方法
回复 使用道具 举报
黑马网友  发表于 2011-9-17 08:47:14
报纸

回复 楼主 的帖子

@Override是一个注解,可以用于检查你所要覆盖的方法是否正确。补充:注解是JDK1.5的新特性之一。
回复 使用道具 举报
黑马网友  发表于 2011-9-17 08:45:10
板凳

回复 藤椅 的帖子

上面都说了,在实际项目开发中要对id进行Override ,经常用,但不知道有什么好处,模糊
回复 使用道具 举报
黑马网友  发表于 2011-9-17 01:56:39
藤椅
投票?访问次数?你那几行代码是什么来着?
回复 使用道具 举报
黑马网友  发表于 2011-9-16 18:25:18
沙发
这位同学,我不太懂你的意思,能够描述清楚一点吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马