March 14, 2024
저번 글에서 살펴본 건 데드락 문제였다. 락에 대한 더 자세한 내용은 저번 글을 한 번 읽고 오면 좋다. 이번에 찾은 문제는 race condition 문제이다. 프로젝트에 횟수를 세는 속성이 많다. 먼저 프로젝트를 간단히 설명하자면 작성자는 게시글로 을 만들고 투표할 수 있는 두 가지 선택지를 만든다. 그리고 다른 사용자들은 토픽에 투표, 댓글을 달 수…
March 13, 2024
아래 환경 기반 내용입니다. MySQL 8.0.33 Storage Engine: InnoDB (default) Transaction Isolation Level: REPEATABLE READ (default) Spring Data JPA 3.1 Hibernate 6.2 프로젝트를 개발하다가 갑자기 데드락을 만나게 되면서, 프로젝트의 데드락이나 race c…
February 28, 2024
과 에 대한 걸 살펴보기 전에 먼저 배경 지식을 잠깐 알아보자. JPA에 관한 책에서 엔티티의 NOT NULL 컬럼을 구현하는 세 가지 방법으로, 어노테이션 어노테이션 어노테이션 위 방법들을 소개하면서 을 권장했다. 그 이유는 무엇일까? - Java(Jakarta) Bean Validation 우선 은 JPA 명세에 포함된 어노테이션은 아니고, J…