간단한 질문이지만 몇 가지 명확한 해결책이있는 데 며칠을 낭비했습니다.교착 상태를 해결하는 가장 좋은 방법
저는 spring jdbc 템플릿을 DAO 레이어 mssql sever 2005로 사용하고 있습니다. 데이터베이스에는 주문 입력 시스템이 있습니다. 이제 시스템에 5 명 이상의 사용자가있을 때 많은 데드락 시나리오가 발생합니다. 다른 사람들이 기존 주문을 업데이트하는 동안 사람들이 새로운 주문을 만들려고 할 때 자물쇠가 생기는 것 같습니다. 동일한 테이블에 대한 INSERT 및 UPDATE 문 사이에 충돌이있는 것 같습니다.
이 문제를 해결하기 위해 몇 가지 작업을 수행했지만 그 중 일부는 작동하지 않았습니다. 그래서 java.util.semaphore 또는 Lock을 도입하고 스레드의 동시 액세스를 제어하려고합니다. 아니면 동기화 된 메소드 나 블록을 사용할 수 있습니다.
당신은 어떻게 생각합니까? 데이터베이스 서버에서이를 처리하는 더 좋은 방법이 있습니까?
감사합니다.