请教大家一个并发主键生成的问题
项目是用spring+struts2+hibernate开发的数据库用的是oracle。现有一表要生
成规则主键。主键以 (变量A)+(固定长度的自增长编号)生成的 随着变量A的变化后面的自增长编号会重新计数即数据大致是(a0001,a0002,b0001,a0003,b0002)。变量A会随时发生变化,请教大家有没有好的解决方案?
我的大致想法是把变量A插入到数据库中然后取出该变量的数量+1作为后面的自增编号,并将它们拼装起来作为主键。
这个项目我的事物是控制在service层的。我想把生成主键的这个方法单独放在一个单例的service bean里并将该方法同步。因为此表的数据生成时涉及的操作比较多,怕同步过多影响性能,我想仅将生成主键的方法同步,并将此拼装好的序列号返回到struts2的action中将此序列号交由其他多例的service处理。请问这么做好么?并发时action中返回的序列号是否和其传入的变量A的值对应?
怕描述的不清楚,说的有些累赘了,请大家见谅
请各位能耐心的看完并帮助解答我的问题,谢谢~~