由数据来来支持是最安全的,能用sequence的就用,不支持的就用自增长类型
解决方案 »
- Hibernate 添加监听器问题
- 框架
- 关于struts1.2中的部分html标签
- 通过几个常用的email 邮件服务系统, 输入email和密码, 取出联系人列表
- 这个问题不知怎么解决了
- 大家帮我鉴别一下!!
- 关于Jetspeed2的验证问题,在线等待~~~~~~~~~~)))
- 请问在Struts中有什么方法可以实现使一条记录单击变色,双击打开?
- 出现java.rmi.UnmarshalException是什么原因造成的?
- javabean调用ejb,jsp调用javabean.出现了如下问题,需要高手出现啊!
- 在HibernateUtil类中创建SessionFactory总是失败
- (急...)Struts1.2 静态表单验证
主要是位数太长,以及varchar的效率问题……用户的ID通常需要用来在数据库中,绑定权限,一个软件系统,处处都需要验证权限,用这么长的ID,肯定还是有一定负担的。所以,用BigInt或Integer,肯定还是相对要好些,毕竟数值类型的处理效率是最高的。如果用户注册的频率不是像QQ申请号码那么繁忙,完全可以不考虑并发可能引起冲突的问题(尽管这样不严谨),直接在程序里面去控制每次增加1。
自动编号肯定是不能用的,有可能用来作外键的主键,都不应该使用自动编号——至于为什么,当你感受过数据恢复的工作后,你就会知道自动编号是多愚蠢了。
在数据库中建一个表,专门用来处理这个唯一id
字段有一个即可,比如为value,值为int型
写一个方法来获取这个value
首先update value这个字段+1,这样就锁住了该行,保证能同步
然后select这个字段即可拿到唯一的值ps:也可以考虑把这个字段保存到文件中,但要注意同步的问题