728x90
반응형

트랜잭션 3

[Effective Java] 아이템 70. 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타입 예외를 사용하라.

🎯 아이템 70. 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타입 예외를 사용하라. 호출하는 쪽에서 복구하리라 여겨지는 상황이라면 검사 예외를 사용하라. /** * 메뉴 등록 * @param menuVO * @throws Exception */ public void insertMenu(MenuVO menuVO) throws SQLException{ menuVO.setMenuSn(menuSnIdService.getNextStringId()); int dept = 1; if(CommonConstants.INNO_ROOT_SN.getValue().equals(menuVO.getSupiMenuSn())){ menuVO.setDept(dept); } else { menuVO.setDept(men..

Java 2023.04.02

[Database] 트랜잭션의 격리 수준(Isolation Level)

🎯 트랜잭션의 격리 수준(Isolation Level) 트랜잭션의 격리 수준(Isolation Level)은 동시에 여러 트랜잭션이 실행될 때, 각각의 트랜잭션이 서로 영향을 주지 않고 독립적으로 실행될 수 있도록 하는데 중요한 역할을 합니다. 격리 수준은 동시에 실행되는 다른 트랜잭션들과의 상호작용 방식을 결정합니다. 트랜잭션의 격리 수준 4가지 READ UNCOMMITTED 트랜잭션이 커밋되지 않은 다른 트랜잭션에서 변경된 데이터도 읽어들일 수 있는 최하의 격리 수준입니다. Dirty Read, Non-repeatable Read, Phantom Read 문제점이 발생할 수 있습니다. READ COMMITTED 트랜잭션이 커밋된 데이터만 읽어들일 수 있습니다. Dirty Read 문제는 발생하지 않지..

Database 2023.03.26

[Database] 트랜잭션(Transaction)

🎯 트랜잭션(Transaction) 트랜잭션(Transaction)은 데이터베이스에서 일어나는 작업의 논리적 단위를 의미합니다. 보통 데이터베이스에서 데이터를 저장, 수정, 삭제하는 작업을 수행할 때, 여러 단계의 작업을 수행해야 하는 경우가 있습니다. 이러한 작업을 수행하는 도중에 어떤 문제가 발생하여 중간에 작업이 실패하면, 데이터의 무결성이 깨질 수 있습니다. 이러한 문제를 방지하기 위해, 트랜잭션은 모든 작업이 성공적으로 수행될 때만 반영되도록 보장합니다. 트랜잭션의 ACID ✅ 원자성(Atomicity): 트랜잭션은 "원자적"이어야 합니다. 즉, 모든 작업이 하나의 논리적인 단위로 처리되어야 하며, 하나의 작업이라도 실패하면 전체 작업이 취소되어야 합니다. ✅ 일관성(Consistency): 트..

Database 2023.03.26
728x90
반응형