Spring Batch как сохранить в БД объект, содержащий список других объектов

#java #spring #spring-batch #itemwriter

#java #spring #spring-batch #itemwriter

Вопрос:

У меня есть сценарий, в котором я должен сохранить объект с именем DummyObject, у которого есть список OtherObject.

 public class DummyObject{

private List<OtherObject> firstOtherObjectList;

private List<OtherObject> secondOtherObjectList;

private String id;

private boolean isCustomer;

private String voiceStatus;

}

public Class OtherObject{

 private String custId;

private String custName;

private String custDepartment;

}
  

Я опубликовал несколько фиктивных классов. В сценарии, подобном приведенному выше, могу ли я использовать ItemPreparedStatementSetter или ItemWriter, или есть какой-либо другой интерфейс, предоставляемый spring, который я могу использовать для сохранения фиктивного объекта со списком OtherObject. Какой способ является наилучшим и как я могу реализовать приведенный выше сценарий?

Ответ №1:

ItemPreparedStatementSetter это интерфейс стратегии для установки значений параметров для данного java.sql.PreparedStatement текущего элемента. Я не уверен, что это лучший вариант в вашем случае.

Сначала вам нужно выяснить, как сохранить такой объект за пределами Spring Batch. Если вы используете JPA / Hibernate и уже определили свое отображение O / R, вы можете использовать JpaItemWriter или HibernateItemWriter . Если вы не используете JPA / Hibernate и у вас есть какой-то сервис, который позволяет сохранять объекты такого типа, то вы можете использовать ItemWriterAdapter для адаптации этого сервиса к ItemWriter интерфейсу.