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

时间:2018-08-23 08:53:08

标签: flat-file bean-io

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

RE IMS001 D12
RE IMS001 D13
RE IMS002 D14
从平面文件位置4-9上方的

employeeID,而11-13是部门信息。 因此,从第1行开始:employeeID=IMS001departmentGroup=D departmentNumber=12 但是一个雇员可以拥有多个部门,因此从第二行开始,对于同一employeeID IMS001,有一个departmentGroup=D departmentNumber=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{
private employeeId;
private List<Department> departments = new ArrayList<Department>;
}

Class DepartmentDTO{
private departmentGroup;
private departmentNumber;
}
通过

,我可以逐行读取将一个employeeID连接到一个部门的信息。但是如果您看到employeeID=IMS001的完整文件,则有两个部门。如何有效地理解这种关系?我不想对db进行太多的get调用来检查是否已插入部门。

0 个答案:

没有答案