Обновление / вставка CompositeItemWriter в родительские и дочерние таблицы

В моем весеннем пакетном приложении мне нужно обновить две таблицы (родительскую и дочернюю), требование

если родительской записи не существует, а дочерняя запись существует - Вставить в родительскую запись и дочернюю запись - Выбрать первичный ключ вставленной записи - обновить дочернюю запись первичным ключом родителя

Все вышеперечисленное должно быть сделано в весенней партии

я использовал CompositeItemWriter. Сначала запускается оператор выбора, если он недоступен, затем получается порядковый номер и выполняется слияние родительского элемента и вставка дочернего элемента.

CompositeItemWriter<EPCAddress> compositeItemWriter = new CompositeItemWriter<>();
    long sequenceNumber = getAddressSequence();
    compositeItemWriter.setDelegates(Arrays.asList(insertParent(jdbcTemplate,sequenceNumber), updateChild(jdbcTemplate,sequenceNumber)));
    return compositeItemWriter;

Всего нужно написать четыре независимых автора. Как я могу получить первичный ключ родительской таблицы, который вставлен, чтобы я мог передать его обновлению дочерней таблицы? Можно ли упростить эту реализацию?

0 ответов

Другие вопросы по тегам