我在读取平面文件中发送的一对多关系时遇到性能问题,例如:
RE IMS001 D12
RE IMS001 D13
RE IMS002 D14
从平面文件位置4-9
上方的是employeeID
,而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;
}
通过,我可以逐行读取将一个employeeID连接到一个部门的信息。但是如果您看到employeeID=IMS001
的完整文件,则有两个部门。如何有效地理解这种关系?我不想对db进行太多的get调用来检查是否已插入部门。