[DB] 군대로 알아보는 트랜잭션 - 4. 지속성 편
드디어 ACID의 마지막인 Durability, 지속성입니다.
그런데 지속성은 사실 별로 다룰 내용이 없습니다. 트랜잭션을 통해 DB에 반영된 내용은 유지되어야 한다는 이야기입니다.
그래도 유종의 미를 거두기 위해 짧은 코드를 살펴보겠습니다.
public class MilitaryEx1 {
public static void main(String[] args) throws InterruptedException {
MilitaryDB militaryDB = new MilitaryDB();
militaryDB.입대("Jake");
militaryDB.입대("Sam");
militaryDB.입대("Kim");
militaryDB.입대("Park");
militaryDB.입대("Lee");
militaryDB.훈련소로_입장();
}
}
class MilitaryDB{
int idx = 0;
HashMap<Integer, String> newSoldiers = new HashMap<>();
public void 입대(String name) {
newSoldiers.put(idx++, name);
}
public void 훈련소로_입장() {
System.out.println("훈련병들은 차례로 훈련소로 입장한다, 실시!");
for (String name : newSoldiers.values()) {
System.out.println(name + " 훈련병, 훈련소로 입장!");
}
}
}
- 훈련소로 입소한 훈련병들 목록은 한 번 반영된 후에는 계속해서 유지되어야 합니다
- 훈련소로_입장() 메서드를 언제 실행하더라도, 새로운 트랜잭션이 발생하지 않는 한 동일한 결과를 얻을 수 있어야 합니다
- 즉, DB에 반영된 트랜잭션은 계속해서 DB에 남아있어야 합니다
Author And Source
이 문제에 관하여([DB] 군대로 알아보는 트랜잭션 - 4. 지속성 편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mincho920/DB-군대로-알아보는-트랜잭션-4.-지속성-편저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)