使用具有 JdbcBatchItemWriters 的 CompositeItemWriter 将不同的对象类型写入不同的表

Using a CompositeItemWriter that has JdbcBatchItemWriters to write different object types to different tables

我有一个这样的嵌套对象,其中数据源相同。但是,我需要写入不同的表。这是我的对象的结构。这可能吗?

  class Project {
      ProjectItem projectItem;
      ItemOwner owner;
  }
  @Bean 
  JdbcBatchItemWriter projectItemWriter(DataSource datasource){
      return new JdbcBatchItemWriter<ProjectItem> {
      ... etc
  }
  
  @Bean 
  JdbcBatchItemWriter itemOwnerWriter(DataSource datasource){
      return new JdbcBatchItemWriter<ItemOwner> {
      ... etc
  }
  
   @Bean
   CompositeItemWriter<Project> txnWriter() {
    return new CompositeItemWriterBuilder<Department>()
            .delegates(projectItemWriter(null),
                    itemOwnerWriter(null))
            .build();
  }

我的用例很独特,因为我需要根据对象类型以某种方式写入不同的表。这可能吗。如果可以,我该如何实现?

改为使用 JPA 解决方案。我需要编写所有嵌套项,所以我选择使用 JPA