java用户事务|实体管理器刷新|事务超时|数百万条记录
以下是以开头的代码:
@Schedule(hour = "*", minute = "*/1", persistent = false)
@TransactionTimeout(value = 10, unit = TimeUnit.HOURS)
public void triggerExtraJob() {
-------------------
@TransactionManagement(value=TransactionManagementType.BEAN)
public class CustomerTeamsJmsServiceImpl {
private void persist(List<TerpCrtV> terpCustomerTeams) throws Exception {
userTransaction.begin();
masterdataPersistance.persist(terpCustomerTeams);
userTransaction.commit();
}
------------
entityManagerMaster.merge(tch); <-- It works fine for 5000 records but suddenly 300 000 record appears and
it execute update statements but not able to save in db
entityManagerMaster.flush(); <--- I added only this after merge
这是修复此问题或TransactionTimeout或TransactionManagementBean中所需的任何更改的正确方法
flush是否会显示数据库中的数据,或者是否需要清除()以进行相同的操作
共 (0) 个答案