2014-11-28 2 views
0

그런 이상한 행동을 한 사람이 있습니까? 내 웹 응용 프로그램은 Oracle 데이터베이스에서 값을 액세스하고 값을 읽을 수 있습니다. 데이터베이스 도구와 연결하여 확인할 수 있습니다. DB에 SqlDeveloper, 일부 값을 변경 한 다음 다시 웹 응용 프로그램으로 전환하고 거기에 업데이트 된 값을 볼 수 있는지 확인하십시오.Tomcat의 웹 응용 프로그램 : DB에서 읽기가 작동하지만 아무것도 유지되지 않습니까?

그러나 웹 응용 프로그램에서 일부 값을 쓰려고하면 데이터베이스에 아무 것도 저장되지 않습니다. 데이터베이스에서 업데이트 된 값을 볼 수 없습니다. 클래스

org.hibernate.ejb.AbstractEntityManagerImpl.persist 

가 호출 될 때까지 디버깅 한 :

public void persist(Object entity) { 
    checkTransactionNeeded(); 
    try { 
     getSession().persist(entity); 
    } 
    catch (MappingException e) { 
     throw new IllegalArgumentException(e.getMessage()); 
    } 
    catch (RuntimeException e) { 
     throw convert(e); 
    } 
} 

없음 예외는이 방법에 던져하지 않습니다하지만 여전히 아무것도 데이터베이스에 도착할 것 같다. 나는 또한 데이터베이스 추적 로그를 점검했지만 오류도 없었다. 어떤 종류의 이상한 행동입니까? 어떤 아이디어, 힌트, 통찰력 등?

+0

DEBUG 또는 TRACE 레벨로 로깅 크랭크 업. DB 측에서 무슨 일이 일어나고 있는지 확인하십시오. 정보가 제공되면 도움을받을 수 없습니다. 우리는 당신의 시스템에 대해 아무것도 모릅니다. –

+0

나는 이미 로그 레벨을 DEBUG로 올렸지 만, 전에 쓴 것처럼 ... 예외는 없습니다. "DB 측에서 무슨 일이 일어나는지 확인"하는 것이 정확히 무슨 뜻입니까? DB 추적 로그를 확인 했으므로 오류도 없었습니다. –

답변

0

거래 처리를 확인할 수 있습니까?

트랜잭션을 커밋하지 않았을 수 있습니다. 따라서 쓰려고 시도한 모든 데이터가 롤백 중이거나 커밋을 기다리는 중입니다.

+0

자동으로 Hibernate에 의해 다루어 져야하지 않습니까? 아니면 Hibernate에서 커밋을 막는 몇 가지 설정이 있습니까? –

관련 문제