2026/09 6

Oracle Lock·Deadlock·격리 수준과 Spring 트랜잭션 완벽 정리

Oracle Lock·Deadlock·격리 수준과 Spring 트랜잭션 완벽 정리개인 학습용 Spring·Oracle 기술 노트 3회차학습 방식: 핵심 개념 → 세션별 동작 → Spring 연계 → 실전 문제 → 정답 해설 → 운영 점검들어가며앞선 학습에서는 Spring의 @Transactional이 AOP 프록시를 통해 동작한다는 점과 REQUIRED, REQUIRES_NEW, rollback-only, UnexpectedRollbackException을 공부했다.이번에는 Spring 트랜잭션이 실제 Oracle 데이터베이스에서 어떤 동시성 현상을 만드는지 연결한다.실무에서는 다음과 같은 문제가 자주 발생한다.UPDATE 문이 끝나지 않고 계속 대기한다.특정 업무만 느려지고 WAS의 사용 가능 커넥션이..

개발/java,spring 2026.09.12

Spring 트랜잭션 전파 완벽 정리: `REQUIRED`, `REQUIRES_NEW`, rollback-only와 `UnexpectedRollbackException`

Spring 트랜잭션 전파 완벽 정리: REQUIRED, REQUIRES_NEW, rollback-only와 UnexpectedRollbackException개인 학습용 Spring 트랜잭션 기술 노트 2회차학습 방식: 개념 이해 → 실행 흐름 분석 → 실전 문제 → 직접 작성한 답안 → 해설 → 실무 설계들어가며지난 학습에서는 Spring의 @Transactional이 일반적으로 AOP 프록시를 통해 동작한다는 점을 공부했다.핵심은 다음 두 문장이었다.@Transactional 메서드 호출이 Spring 프록시를 통과해야 트랜잭션 기능이 적용된다.롤백 규칙에 해당하는 예외가 트랜잭션 프록시까지 전달되어야 Spring이 롤백을 판단할 수 있다.이번에는 한 단계 더 들어가 본다. 실제 업무 시스템에서는 하..

개발/java,spring 2026.09.11

Spring `@Transactional` 동작 원리와 롤백되지 않는 이유

Spring @Transactional 동작 원리와 롤백되지 않는 이유개인 학습용 기술 노트 1회차주제: Spring 트랜잭션, AOP 프록시, 내부 호출, 예외와 롤백들어가며Spring 기반 업무 시스템을 개발하다 보면 다음과 같은 문제를 한 번쯤 만나게 된다.메서드에 @Transactional을 붙였는데 트랜잭션이 적용되지 않는다.데이터 등록 중 오류가 발생했는데 앞에서 처리한 데이터가 그대로 남는다.분명히 예외를 발생시켰는데 롤백되지 않는다.try-catch로 예외 로그를 남겼더니 데이터가 커밋된다.같은 서비스 클래스 안에서 메서드를 분리했는데 기대한 트랜잭션이 시작되지 않는다.이 문제를 제대로 이해하려면 @Transactional을 단순히 "오류가 나면 DB 작업을 취소해 주는 애너테이션"으로 기..

개발/java,spring 2026.09.10

싼타페 TM 2.0 가솔린 터보 엔진오일 교환주기, 몇 km가 적당할까?

싼타페 TM 2.0 가솔린 터보 엔진오일 교환주기, 몇 km가 적당할까?싼타페 TM 2.0 가솔린 터보를 오래 타려고 하면 가장 자주 고민하게 되는 것이 엔진오일입니다.저 역시 차량을 오래 보유하는 쪽을 선호하다 보니 단순히“서비스센터에서 알려주는 주기에 맞춰 갈면 되겠지.”라고 생각하기보다는 어느 정도 주기로 관리하는 것이 합리적인지 계속 찾아보게 됩니다.특히 가솔린 터보 차량은 자연흡기 차량보다 열이 많이 발생하고 터보차저 역시 엔진오일의 영향을 받기 때문에 엔진오일 관리가 더욱 중요하게 느껴집니다.그렇다면 싼타페 TM 2.0 가솔린 터보의 엔진오일은 몇 km마다 교환하는 것이 좋을까요?결론부터 말하면 7,000~10,000km 정도가 현실적이라고 생각한다엔진오일 교환주기는 정답이 하나만 있는 문제가..

일상/제품리뷰 2026.09.09

싼타페 TM 2.0 가솔린 터보 몇 km까지 탈 수 있을까? 장기보유 관점 정리

싼타페 TM 2.0 가솔린 터보 몇 km까지 탈 수 있을까? 장기보유 관점 정리싼타페 TM 2.0 가솔린 터보를 오래 타려고 하면 한 번쯤 이런 생각이 듭니다.이 차는 도대체 몇 km까지 탈 수 있을까?10만 km를 넘으면 차를 바꿔야 하는지, 20만 km까지 타도 괜찮은지, 터보 엔진이라 일반 자연흡기 엔진보다 수명이 짧은 것은 아닌지 궁금할 수 있습니다.결론부터 말하면 정비 상태가 정상적이라면 싼타페 TM 2.0 가솔린 터보도 20만 km 이상 운행을 충분히 목표로 할 수 있습니다.다만 중요한 것은 단순한 주행거리보다 엔진오일 관리, 냉각계통, 변속기, 터보차저 관리 상태입니다.싼타페 TM 2.0 가솔린 터보의 현실적인 수명자동차 엔진에는 '정확히 몇 km까지 사용할 수 있다'는 정해진 수명이 없습니..

일상/제품리뷰 2026.09.09

ORA-01460 오류 해결|Spring JDBC에서 BLOB 저장할 때 발생하는 원인

Oracle DB에 데이터를 저장하는 과정에서 다음 오류가 발생할 때가 있습니다.ORA-01460: 요구된 변환은 실행될 수 없습니다.영문 메시지는 다음과 같습니다.ORA-01460: unimplemented or unreasonable conversion requested저의 경우에는 Java Spring 환경에서 JDBC를 이용해 Oracle BLOB 컬럼에 데이터를 INSERT하는 과정에서 이 오류가 발생했습니다.처음에는 SQL 문법 문제나 JDBC 자체의 문제라고 생각하기 쉽지만, BLOB을 저장하는 상황이라면 우선 Oracle 컬럼 타입과 Java에서 전달하는 데이터 타입이 정확히 일치하는지 확인해야 합니다.이번 글에서는 ORA-01460이 발생했을 때 확인해야 할 내용을 Spring JDBC와..

개발/DB 2026.09.03