gpt4 book ai didi

java - JPA插入事务并发

转载 作者:行者123 更新时间:2023-12-02 07:34:50 26 4
gpt4 key购买 nike

我有更多的理论问题:数据何时插入数据库?是在 persist 之后还是在调用 commit 之后?因为我对唯一键(手动生成)有疑问 - 它们会重复。我认为这是由于多个用户同时将数据插入同一个表中造成的。

更新1:

我在我的应用程序中生成 key 。键示例:“123456789123”、“123456789124”、“123456789125”...

键字段是varchar类型,因为有很多旧键(我无法删除或更改它们),例如'VP123456','VP15S3456'。另一个问题是,将它们插入一个数据库后,必须将这些键插入另一个数据库。我不知道什么是数据库序列和原子对象..

更新2:

这些 key 用于财务文档,而不是用作数据库 key 。因此它们必须是唯一的,但它们不会在编程中作为对象键使用。

最佳答案

我建议您创建一个单例来负责生成 key 。确保单例使用数据库中的最新值初始化后才能获取新的 id。

为了保护您免受不完整插入到两个数据库的影响,我建议您尝试使用 XA transactions 。这将允许您进行全有或全无的插入和更新。因此,如果任何数据库上的任何操作失败,所有内容都将回滚。当然,XA 事务也有一个缺点;它们非常慢,并且并非所有数据库和数据库驱动程序都支持它。

关于java - JPA插入事务并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12400207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com