티스토리 뷰
이 문제에 접근하는 방법에는 몇 가지가 있습니다.
Hibernate 직원들은 데이터베이스에서 최신 데이터를 검색하기 위해 아마도 다른 세션을 열어야한다고 말할 것입니다. 그들은 세션의 의도가 비교적 수명이 짧은 작업 단위로 범위가 지정되어야한다고 지적 할 것입니다.
항상 데이터베이스에서 가장 최신 상태를 가져 오기 위해 메서드
Session.Refresh()
내부에 호출을GetPerson()
넣거나 자체Refresh()
메서드를 통해 해당 기능을 노출 할 수 있습니다.또는
Person
개체 자체 에 대한 핸들이있는 경우 다시로드하기 전에 세션 캐시Session.Evict()
에서Person
개체 를 제거 할 수도 있습니다 .
제 경험상, 저는 # 2와 # 3을 모두 시도했고 결국 항상 # 1을하기 위해 리팩토링을했습니다.
출처
https://stackoverflow.com/questions/1903160
댓글