当我制作一个对象时,我需要查看 database.object 并在表中找到该对象的最大键。当我找到最大数字时,我需要将它增加 1,我的新对象将拥有那个新密钥。这些键是依赖于对象类型的,而且类型很多,所以我不能使用id。
示例:表格对象
Id, Name, Type, Key
1, One, T1, 6
2, Two, T1, 3
3, Three, T2, 88
4, Four, T1, 101
我面临的问题:更多的用户可以创建新对象(并且有一些计算,所以这个操作不是很快),有时两个或多个用户最终使用相同的密钥?!
使用 jdbc 我可以使用 SELECT .. FOR UPDATE 并锁定表。
有没有推荐的解决方案如何使用休眠实现这一目标?
谢谢