2012-12-24 3 views
3

테이블에서 행을 잠그려고하면 null이 반환되는 경우가 있습니다. 그게 무슨 뜻 이죠?GPars에서 null을 반환하는 잠금

println state 
state = State.lock(state.id) 
println state 

이 출력 :

State 1 
null 

("주 1"상태의 문자열 표현입니다)

답변

0

당신을 이렇게함으로써 나는 도메인 인스턴스가 잠금 전에 null가 아닌 것을 확인 업데이트 이전에 객체의 버전을 비교하는 GORM 낙관적 잠금에서 잠금이 해제 될 때까지 읽기 작업이 차단된다는 의미의 비관적 잠금으로 전환합니다. 당신이 (방법에 ReturnValue 참조) 값을 검색하려면 아래의 폐쇄를 사용하는 방식으로

State.withPessimisticLock(state.id) { Object lockedDomain -> 
return "OK" 
}.onNotFound { -> 
    return "NG" 
} 
assert result.returnValue == "OK" 

는 트랜잭션이 필요합니다, 그래서 당신의 질문에 반환되는 null은 아마 당신의 객체가 부족 의미 트랜잭션.