Flat file BeanIO:从平面文件读取一对多关系

Flat file BeanIO:从平面文件读取一对多关系,flat-file,bean-io,Flat File,Bean Io,我在读取平面文件中发送的一对多关系时遇到性能问题,例如: RE IMS001 D12 RE IMS001 D13 RE IMS002 D14 从上面的平面文件位置看,4-9是employeeID,11-13是部门信息。 因此,从第1行开始:employeeID=IMS001和departmentGroup=DdepartmentNumber=12 但是一名员工可以有多个部门,因此从同一员工ID的第二行开始IMS001有一个部门组=D部门编号=13 我有如下xml映射 <recor

我在读取平面文件中发送的一对多关系时遇到性能问题,例如:

RE IMS001 D12
RE IMS001 D13
RE IMS002 D14
从上面的平面文件位置看,
4-9
employeeID
11-13
是部门信息。 因此,从第1行开始:
employeeID=IMS001
departmentGroup=D
departmentNumber=12
但是一名员工可以有多个部门,因此从同一
员工ID的第二行开始
IMS001
有一个
部门组=D
部门编号=13

我有如下xml映射

    <record name="employee" maxLength="51" class="com.a.EmployeeDTO">
        <field name="employeeId" position="4" length="6" trim="false" />
       <segment name="departments" class="com.a.DepartmentDTO"
                                       collection="list" minOccurs="1" >
          <field name="departmentGroup" position="11" length="1" trim="false" />
          <field name="departmentNumber" position="12" length="2" trim="false" />
       </segment>
   </record>

DTO:

Class EmployeeDTO{
私人雇员ID;
私有列表部门=新的ArrayList;
}
班主任{
私人部门小组;
私人部门号码;
}

有了这个,我可以一行一行地阅读,一个员工ID连接到一个部门。但是,如果您看到一个
employeeID=IMS001
的完整文件,则有两个部门。如何有效地解读这种关系?我不想在db上做太多的get调用来检查是否已经插入了部门。

您的代码与映射文件不匹配,并且像现在这样出现编译失败,尽管很明显应该是这样,请确保您不会因为提供错误的代码或映射文件而混淆问题。请阅读BeanIO用户指南()。位置从0开始,请修复映射文件。给我们一个工作的例子,让我们更容易帮助。
Class EmployeeDTO{
private employeeId;
private List<Department> departments = new ArrayList<Department>;
}

Class DepartmentDTO{
private departmentGroup;
private departmentNumber;
}