나는 새로운 코드베이스를 사용하고 있으며 iBatis를 사용하고 있습니다. 기존 테이블을 업데이트하거나 추가해야하며 20,000 개 이상의 레코드가 필요할 수 있습니다. 프로세스는 하루에 한 번 실행되며 한밤중에 실행됩니다.일반 거래 많은 레코드 다루는 질문
웹 서비스 호출에서 데이터를 가져오고 있습니다. 데이터를 가져온 다음 레코드 당 하나의 모델 유형 개체를 채우고 각 모델 유형 개체를 개체의 데이터를 읽고 개체를 테이블로 업데이트/삽입하는 몇 가지 메서드에 전달할 계획입니다.
예 :
ArrayList records= new ArrayList();
Foo foo= new Foo();
foo.setFirstName("Homer");
foo.setLastName("Simpson");
records.add(foo);
//make more Foo objects, and put in ArrayList.
updateOrInsert(records); //this method then iterates over the list and calls some method that does the updating/inserting
내 주요 질문 트랜잭션으로 삽입/업데이트를 모두 처리하는 방법입니다. 테이블을 업데이트/삽입하는 데 사용되는 모든 레코드가 읽히기 전에 시스템이 다운되면 알 필요가 있으므로 웹 서비스 호출로 돌아가서 시스템이 정상적으로 작동하면 다시 시도 할 수 있습니다.
Java 1.4를 사용 중이며 db는 Oracle입니다.
기본적으로 Java 1.4 인 것 외에 다른 것을 사용할 수 없습니다. 귀하가 개략적으로 설명하는 단계가 도움이되며, 거래 방법/방법에 대해 의견을 말합니까? – bmw0128
1.4 이외의 다른 것을 사용할 수 없다면 스스로 tx 관리를해야 할 것입니다. – sdc
연결을 잡고 자동 커밋을 false로 설정하고, 일괄 처리 삽입을 실행하고, 모든 레코드가 완료되면 명시 적 커밋 – sdc