2016-08-22 3 views
0

최대 절전 모드를 사용하여 저지 웹 서비스를 만들고 있습니다. 사용할 수있는 방법 중 하나는 내가 같이하고있어 데이터베이스에 기록을 업데이트 :최대 절전 모드에서 레코드 업데이트 성공 여부 확인

private Boolean updateSingleRecord(Session session, Person updatedRecordData) 
{ 
    try 
    { 
     short id = updatedRecordData.getPersonId(); 
     Person per = (Person) session.load(Person.class, id); 
     per.setPersonEmail(updatedRecordData.getPersonEmail()); 
     per.setPersonMobile(per.getPersonMobile()); 
     transaction.commit(); //was defined earlier in the code 
     return true; 
    } 
    catch(Exception e) 
    { 
     return false; 
    } 
} 

되는 필드는 휴대 전화 고유 한 값을 가질 필요가 있도록 정의 할 수 있습니다. 개체를 이미 존재하는 값으로 업데이트하면 오류가 발생하지 않지만 값은 단순히 변경되지 않습니다. 초기 값과 새로운 값을 비교하지 않고 커밋 후에 변경이 발생했는지 어떻게 알 수 있습니까?

답변

0

생성, 수정 및 업데이트와 같은 이벤트에서 트리거처럼 작동하는 Hibernate Interceptor. http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/events.html 엔티티가 수정되고 지속되는지 확인하십시오.

당신은 상황을 명확히 했

Session session = s.withOptions().interceptor(new MyInterceptor().openSession(); 
+0

최대 절전 모드 4의 봄의 구현에 새로운 세션 범위 인터셉터를 만들 수 있습니까? – pacman

관련 문제