我们有一个需求,每天从数据库中删除20万条数据。我们的应用程序是基于Java / Java EE,使用Oracle DB和Hibernate ORM工具。我们探讨了各种选项,如Hibernate批处理、存储过程和数据库分区。我们的DBA建议使用数据库分区是最好的方法,因此我们可以轻松地每天重新创建和删除分区表。现在问题是我们有两种数据,一种是每天要删除的,另一种是要保留的。假设这些数据存储在表“Trade”中。现在使用分区后,我们有了两个名为“Trade”的表。我们已经存在基于Hibernate的DAO层从/到数据库获取/存储交易。当我们决定对数据库进行分区时,如何通过Hibernate控制交易进入哪个表。基本上我想,需要在一天结束时删除的交易放在分区表中,而我想保留的交易放在主表中。请建议如何使用Hibernate实现这一点。我们可以添加一个附加列以标识要删除的交易,但如何确保这些交易应该进入分区交易表而不是主表。如果我们走错了路,请建议任何更好的方法。