我需要处理超过 5 到 6 百万条财务记录,其中每条记录都是一项交易。
这是一个 Spring 、 Hibernate 解决方案。
我可以在下面列出四个步骤来使我的背景清晰
读取表中的每条记录。示例(工资)
只访问特定的两列(主键字段-ID),(工资-RSA加密值)
解密属于salary id的salary字段。
使用新的安全 key 再次加密。
解决方案需要作为后台进程(可能是 spring 线程池任务执行器)系统必须 24 * 7 运行。
每条记录都是一个事务,那么加载记录以进行处理的最佳方式是什么? 如果可能,请给我一个示例链接。
我认为最佳做法是加载 10 条记录,然后加载下 10 条记录。如何使用 spring、hibernate 实现这样的解决方案。
最佳答案
我会忘记 Entity Framework 作为此类工作的 hibernate 状态,并坚持使用数据库方面。 (如果您在交易期间没有其他工作要做,即邮件发送、审计等...其中代码仅在服务器端可用)
创建一个存储过程来执行该作业,并在已知的低负载时间内运行一次。在 5 到 30 分钟内完成。
或者,创建一个存储过程,一次获取一行,并在(数据库)作业中延迟运行它,这样性能就不会受到影响。
关于java - Spring Hibernate 处理 500 万条记录的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591245/