2013-03-13 3 views
0

최대 절전 모드 세션에서 검색 한 업데이트 된 개체를 가져 오지 못했습니다. 예 : 세션 B에 의해 개체를 업데이트하면 [개체가 이미 세션 A에 의해 먼저 페치되었습니다], 즉시 세션 B가 만든 업데이트를 얻지 못합니다.Hibernate에 의해 순간적으로 업데이트 된 객체를 얻는 방법?

다음은 최대 절전 모드에서 업데이트 된 값을 강제로 가져 오는 데 다음 코드를 사용해야합니다.

session.evict(user); 

그러나 데이터베이스 왕복이 필요합니다. 어떻게 피할 수 있니? 업데이트를 즉시 얻을 수있는 더 적절한 방법이 있습니까?

답변

0

최대 절전 세션 (지속성 컨텍스트)은 서로 격리되어 있으며 반복 가능한 읽기를 보장합니다. 당신이

0

개체가 사용하여 다시 시도) (오히려 EVICT를 호출하는 대신, 부실 객체 의심()를받을 경우 문제를 처리 할 수 ​​

더 나은 방법은 세션 A의 전화 session.refresh()이다

session.refresh(object, LockOptions.NONE) 

DB에서 최신 정보를 얻습니다.

관련 문제