0
我需要创建一个在数据库中具有唯一标识列的实体表单,它不是主键列,我需要在表单创建页面中显示该表单。我已将此列设置为UNIQUE而不是null。现在,每当我创建一个新的用户,雇员或任何实体我需要生成一个序列号就像这个格式的形式显示出来,如何在java中生成唯一的序列号?
ID_001, ID_002 ... ID_00N and so on.
EMP_001, EMP_002 ... EMP_00N and so on.
当三位序列号达到999最高限额。序列号应该生成四位数字,直至达到9999,员工代码将如EMP_1000
。所以当我在创建表单时得到最后一个插入ID时,如果多个用户同时创建并且会有冲突,它将不起作用。我想创建一个像sequence_generator
这样的新表。我在哪里存储实体最后一个插入ID的键值对。所以当发生下一次插入时,我可以从这张表中读取并且为新的序列号增加1。
那么,如何最好地实现这个序列生成,这也是唯一的Java/MySql/Mybatis/Spring
?
你为什么不尝试使用UUID? –
数据库序列是一个选项吗?根据创建时间的不同,它可能包含漏洞,甚至最终不是单调的,即使使用分布式服务器,它也确保了unicity。 –
@RenukaDeshmukh UUID是随机生成的长字符串。我希望数字是连续的(如001,002等)。 – Lucky