在我的应用程序中,我有一个组件从另一个组件接收对象并将它们插入 MySQL DB。目前我正在缓冲对象,并且偶尔(几秒钟)使用批处理(使用 JDBC,而不是休眠)将对象插入到数据库中。
我想将此对象分解为 2 个对象,然后是两个缓冲区,最后将它们插入到 2 个不同的表中。
我的第一个想法是使用 MySQL 自动生成的 ID 将表中的两个子对象绑定在一起(作为外键)。
我的问题是 - 当我插入“子”对象时,如何知道“父”对象的自动生成 ID?
我的想法是:
- 在拆分对象之前生成我自己的 ID,然后自己将 ID 发送到 DB,而不使用 MySQL 自动生成的 ID。
- 使用将插入第一个对象的存储过程,使用 MySQL 的
LAST_INSERT_ID();
你怎么看?