我是春季批处理的新手,我只是想问一下如何从多行结果集中检索数据。 我有以下情况:
select * from emp,pay whem emp.id=pay.id & emp.id = "id"
。xml结构是:
<EMP>
....
...
<Payroll>
.
.
.
</Payroll>
<Payroll>
.
.
.
</Payroll>
</emp>
使用RowMapper
时,我只能创建一个工资单子项,但该表可能有多个子项。请帮忙......
答案 0 :(得分:0)
你需要像群阅读器这样的东西,它包裹着你的数据库阅读器。
我在另一个答案中解释了这种方法: Spring batch to aggregate values and write single value
答案 1 :(得分:0)
这个用例正是为什么创建像Hibernate这样的ORM框架的原因。考虑为您的读者使用HibernateCursorItemReader
,然后定义持久层,以便您拥有以下内容:
@Entity
@Table(name = "emp")
public class Employee {
@Id
@Column(name = "emp_id")
private Long id;
@OneToMany(mappedBy="employee")
private Set<Payment> payments = new HashSet<>();
}
@Entity
@Table(name = "pay")
public class Payment {
@Id
@Column(name = "pay_id")
private Long id;
@ManyToOne
@JoinColumn(name = "emp_id")
private Employee employee;
}