0

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

RE IMS001 D12
RE IMS001 D13
RE IMS002 D14

从上面的平面文件位置4-9employeeID并且11-13是部门信息。所以从第 1 行开始:employeeID=IMS001但是departmentGroup=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;
}

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

4

0 回答 0