0

在内存中实现池化序列号生成器是否有一个好的解决方案?

我知道 Hibernate/JPA 包含一个表生成器 id 类型,但不幸的是,由于遗留原因,我的 web 服务需要能够在实际保存对象之前在内存中分配这些 id。

有推荐的方法吗?我确信可能会发生许多危险的事情,关于事务回滚等等。有没有人有任何建议或资源可以解释处理这个问题的最佳方法?

4

1 回答 1

0

这很有趣,我以前从未想过。可能有帮助的一件事是使用AtomicLong但这并不能解决回滚事务的问题。

也许一个类包装类似的东西并保留一个长值列表来保存可以从第一个检索的回滚键可以工作吗?

另一个问题是您需要从表中获取最大键值(如果您执行类似于我描述的操作)以确保您的应用程序启动时没有重复键。

我不确定这是否有帮助,但这是一个开始的地方。

于 2012-06-12T17:54:09.030 回答