【发布时间】:2021-05-27 02:18:30
【问题描述】:
我在服务器和客户端制作的解决方案上使用 ORMLite。
在服务器端我使用 PostgreSql,在客户端我使用 SQLite。 在代码中,我使用相同的 ORMLite 方法,而不关心托管的数据库(PostgreSql 或 SQLite)。
让我们这么说:
- 表A对应A类
- 我有一个对象 A 的 Arraylist
- 我想在 DB 中插入 ArrayList 的所有项。
今天我使用了一个 for() 循环,我将它们一一插入(在事务管理器中进行)。 项目少的时候没问题,但现在项目越来越多,这可能不是最好的方法,也是因为我长时间锁定数据库。
我正在寻找一种方法来一步插入所有项目,所以要快点,不要长时间锁定数据库。我知道它应该是一种存储过程(我不是专家......)。
需要注意的是,有些项目可能是新的(即它已经不存在具有相同主键id的项目),那么必须执行和INSERT;其他项目可能已存在,因此应执行 UPDATE。
谢谢
【问题讨论】:
标签: java postgresql sqlite ormlite java-stored-procedures