用hibernate 操作oracle数据库,表主键自增,我们通常要为表建立序列,你也可以不建立自己的序列,(使用hibernate自带的序列):
现在有个问题:每个表一个序列 和 多个表共用一个序列 那种方式比较好?
我先说一下绝大多数网民对此种问题的回答:最好为每个表建立一个索引,这样方便维护和管理!
临外一部分人认为 多个表 共用一个序列也是可以的!
我们说“某种说法”正确,就要拿出“证据”,证明“这个说法”的“对立说法”在某种情况下是不合理的!
现在,我要证明“每个表一个序列”更好:
假设两个表共用一个序列,同时进行批量添加,有没有可能出现某个序列值同时被这两个表的某两个记录拿来作为自己的主键?不可否认,是有这个可能的!
况且批量插入在web开发中要经常用到,即使用不到,多线程情景下也是有可能出现批量插入时遇到的问题!
我自己的一些理解,不正确之处望高人海涵,如果你有充分的理由,请不吝赐教!
现在有个问题:每个表一个序列 和 多个表共用一个序列 那种方式比较好?
我先说一下绝大多数网民对此种问题的回答:最好为每个表建立一个索引,这样方便维护和管理!
临外一部分人认为 多个表 共用一个序列也是可以的!
我们说“某种说法”正确,就要拿出“证据”,证明“这个说法”的“对立说法”在某种情况下是不合理的!
现在,我要证明“每个表一个序列”更好:
假设两个表共用一个序列,同时进行批量添加,有没有可能出现某个序列值同时被这两个表的某两个记录拿来作为自己的主键?不可否认,是有这个可能的!
况且批量插入在web开发中要经常用到,即使用不到,多线程情景下也是有可能出现批量插入时遇到的问题!
我自己的一些理解,不正确之处望高人海涵,如果你有充分的理由,请不吝赐教!