나는 나의 어플리케이션에서 가지고있는 어플리케이션 흐름에 대한 자세한 설명을하고있다. 데이터베이스 뷰어 응용 프로그램을 작성 중입니다. 사용자는이 응용 프로그램으로 내 DB의 모든 레코드 (행)를 볼 수 있으며 UI에서 편집 할 수 있습니다. 이 응용 프로그램이 잘 작동합니다. 이제 DB에 버전 필드를 만들었 기 때문에 Optimistic Locking을 구현하고 싶습니다. 이제는 디자인 문제로 쳤다.Spring MVC 하이버 네이트는 응답과 요청 사이에 자바 객체를 저장한다.
내 응용 프로그램에서 사용자가 레코드를보고 편집하고 싶을 때 내 컨트롤러 메서드에서 최대 절전 모드로드를 수행하고 JSP 페이지 편집 결과를 표시하고있다. 이제 사용자가 페이지에서 '저장'을 클릭하면 레코드를 저장해야합니다. 매우 복잡한 엔티티이므로 DB에서이 엔티티를 채우고 변경 사항을 작성하고 최대 절전 모드로 저장 또는 업데이트를 수행합니다.
이제 버전 관리를 구현하고자하므로 저장 또는 업데이트하기 전에 더 이상 엔터티를 채우고 싶지 않습니다. 어떻게 든 복잡한 엔티티를 안전하게 유지하고 업데이트하고 싶을 때 사용하고 싶습니다. 필자의 경우 JSP 숨김 양식 필드를 사용할 수 없습니다. 사용자가 '저장'버튼을 클릭하고 db로 저장하기 전까지 엔티티를 안전하게 유지할 수있는 곳은 어디입니까? 가능한 최선의 접근법은 무엇입니까?
업데이트 : EHCache는 프레임 워크를 구현하기 위해 인터넷 및 계획의 여러 게시물을 검토 한
. (숨겨진 양식 필드에)
저장소 (세션) 서버의 상태 또는 클라이언트 :
세션은 분명히 알 수 있습니다. http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpSession.html –
@AlanHay하지만 어쨌든 이제 내가 할 때 (session.getAttribute ("obj")). equals (DAO. get (...))이 일치하지 않습니다. 나는 거짓말을하고있다. 개체의 모든 멤버 변수에 대해 eqauls 메서드를 확인했습니다. 그들은 평등해야합니까? – EagleRider