2011-01-20 2 views
6

약간의 질문이 있습니다. 개체를 업데이트해야합니다. 가져와. 개체는 기존 개체입니다. 자 .. 어떤 속성을 변경하면 선행 (분리되지 않은) 객체이기 때문에 모든 변경 사항이 즉시 저장됩니까? 기능을 호출해야합니까? 또는 세션이 플러시되면 수정 사항이 저장됩니까?최대 절전 모드 바보 같은 질문? 영구 객체 업데이트

감사합니다.

+0

시도해 보셨습니까? – skaffman

+0

무엇이 문제인지 이해하지 못합니다 ... – tkt986

답변

5

영구 객체 인 경우 세션이 플러시 될 때 변경 사항이 저장됩니다.

+0

Ok. 이것은 내 struts2 액션이 SUCCESS를 반환하기 전에 속성을 수정할 때 세션을 플러시해야한다는 것을 의미합니다. 그러나 세션이 스프링 빈에 의해 관리되는 경우 어떻게 플러시 할 것인가? –

+0

@luigi, 세션이 닫히기 전에 자동으로 플러시됩니다. 전체 요청에 대해 세션을 열어 두도록 구성한 경우 작업이 반환 된 후에 세션이 플러시됩니다. 세션을 얻으면 session.flush()를 사용하여 명시 적으로 플러시 할 수 있습니다. – hvgotcodes

+0

이제 문제는 요청 후에 세션을 닫는 방법입니다 ... –

0

Chris의 답변 및 "요청 후 세션을 닫는 방법"에 대한 후속 질문 : 관련 서블릿 (웹 응용 프로그램이라고 가정)을 필터에 래핑하는 것이 일반적인 방법입니다. 세션을 열고 현재 스레드와 연관시키고 doFilter를 호출 한 다음 오류 발생 여부에 따라 트랜잭션을 커밋하거나 롤백합니다. 이를 "보기에서 열린 세션"패턴이라고합니다.

관련 문제