「アロマテラピースクール セリスト」AEAJ総合資格認定校として充実した内容を提供。2000名を超える卒業生を送り出した実績あるアロマスクールです

cellist

セリスト日記@吉祥寺

java 트랜잭션 예제

2019.08.03

방법 CoffeesTable.updateCoffeeSales 트랜잭션을 보여 주며 메서드 롤백을 호출 하는 catch 블록을 포함 합니다. 응용 프로그램이 계속되고 트랜잭션 결과를 사용하는 경우 catch 블록의 롤백 메서드에 대한 이 호출은 잘못된 데이터를 사용하지 못하게 합니다. 메서드 Connection.setSavepoint, 현재 트랜잭션 내에서 저장 점 개체를 설정 합니다. Savepoint 인수를 위해 Connection.rollback 메서드가 오버로드됩니다. ACID 속성은 트랜잭션 관리를 잘 설명합니다. ACID는 원자성, 일관성, 절연 및 내구성을 의미합니다. JTA는 비즈니스 코드에 대한 트랜잭션 제어(시작, 커밋 및 롤백)에 대한 추상화를 제공합니다. JDBC 드라이버가 기본적으로 사용하는 자동 커밋 모드 대신 수동 트랜잭션 지원을 사용하려면 연결 개체의 setAutoCommit() 메서드를 사용합니다. 부울 false를 설정하려면AutoCommit() 자동 커밋을 끕니다. 부울 트루를 전달하여 다시 켤 수 있습니다. 멋진 예, 나에게 많은 도움이되는 많은 감사 트랜잭션은 작업의 단일 단위로 수행 작업의 집합을 나타냅니다. 즉, 집합의 작업이 실패하면 SQLite는 다른 작업을 중단하고 데이터를 초기 상태로 롤백합니다. 앞에서 설명한 것처럼 메서드 롤백을 호출하면 트랜잭션이 종료되고 이전 값으로 수정된 모든 값이 반환됩니다.

트랜잭션에서 하나 이상의 문을 실행하고 SQLException을 받으려는 경우 메서드 롤백을 호출하여 트랜잭션을 종료하고 트랜잭션을 다시 시작합니다. 이것이 커밋된 내용과 커밋되지 않은 것을 알 수 있는 유일한 방법입니다. SQLException을 Catch하면 문제가 있음을 알 수 있지만 커밋된 내용이나 커밋되지 않은 내용을 알려주지는 않습니다. 아무 것도 커밋되지 않았다는 사실을 믿을 수 없기 때문에 메서드 롤백을 호출하는 것이 확실한 유일한 방법입니다. 둘 이상의 문을 트랜잭션으로 그룹화하는 방법은 자동 커밋 모드를 사용하지 않도록 설정하는 것입니다. 이는 con이 활성 연결인 다음 코드에서 보여 주며, 메서드는 새 가격이 최대값인 경우 가격 값보다 큰지 확인합니다. 이 경우 메서드는 다음 문으로 트랜잭션을 롤백합니다: 새로운 JDBC 3.0 Savepoint 인터페이스는 추가 트랜잭션 컨트롤을 제공합니다. 대부분의 최신 DBMS는 오라클의 PL/SQL과 같은 환경 내에서 저장 점을 지원합니다.

executeTransfer() 반환 할 때 트랜잭션 관리자는 트랜잭션의 끝임을 인식하고 두 데이터베이스에 커밋합니다 : 트랜잭션 중간에 오류가 발생하는 경우 항상 롤백() 메서드를 사용하여 트랜잭션을 롤백할 수 있습니다. . 명령문 con.setAutoCommit(true); 자동 커밋 모드를 활성화하면 각 문이 완료되면 다시 자동으로 커밋됩니다. 그런 다음 메서드를 직접 커밋할 필요가 없는 기본 상태로 돌아갑니다. 트랜잭션 모드 중에만 자동 커밋 모드를 사용하지 않도록 설정하는 것이 좋습니다.

Categories

  • カテゴリーなし

Keywords