【发布时间】:2016-01-10 02:59:16
【问题描述】:
我正在使用 Spring Batch 从数据库中读取条目并相应地处理它们。到目前为止,我编写了条目,将它们的所有主键存储在一个列表中,并将该列表设置为 Job 的参数之一。这适用于小批量,但如果有 100 个条目,则列表会变大以存储为参数。所以我打算存储一些排序或唯一字段,这些字段对于与同一作业有关的所有条目都是通用的,并且只将此键作为参数传递,我之前考虑过使用作业执行 ID,但这是在作业启动后生成的,所以当读者初始化时,可能为时已晚。所以我想到了以下选项:
- 使用日期/时间、提交作业的人的用户名等字段生成哈希。问题:有什么好的算法可以做到这一点?
- 生成一个可递增的 ID。 问题:最好的方法是什么? 问题:在这种情况下可以使用 PostgreSQl 序列吗? (注意:多个条目将具有相同的密钥,因此我认为不能使用
@GeneratedValue注释来完成,如果我错了,请纠正我) - 您有更好的想法吗?
我认为,如果您解释为什么您可能更喜欢一种解决方案而不是另一种解决方案,我认为这也是有益的。
【问题讨论】:
标签: spring postgresql jpa spring-batch