私のアプリケーションには、別のコンポーネントからオブジェクトを受け取り、それらを MySQL DB に挿入するコンポーネントがあります。現在、私はオブジェクトをバッファリングしており、たまに(数秒)オブジェクトがバッチを使用して(休止状態ではなくJDBCを使用して)DBに挿入されます。
このオブジェクトを 2 つのオブジェクトに分割し、次に 2 つのバッファに分割し、最後にそれらを 2 つの異なるテーブルに挿入したいと思います。
私が最初に考えたのは、MySQL 自動生成 ID を使用して、テーブル内の 2 つのサブオブジェクトを (外部キーとして) 結びつけることでした。
私の問題は、「子」オブジェクトを挿入するときに、「父」オブジェクトの自動生成 ID をどのように知ることができるかということです。
私のアイデアは次のとおりです。
- オブジェクトを分割する前に独自の ID を生成し、MySQL の自動生成 ID を使用せずに、ID を自分で DB に送信します。
- 最初のオブジェクトを挿入するストアド プロシージャを使用し、MySQL を使用します。
LAST_INSERT_ID();
どう思いますか?