2017-10-16 9 views
0

JPA 구현으로 Eclipse 링크를 사용 중이며 "jdbc:XXX://localhost:35001/"에서 실행중인 DB에 연결되어 있습니다. 모든 SQL 호출을 추적 할 수있는 방법이 있습니까? 내 로컬 컴퓨터에서 이클립스에서 자바 프로젝트 안에 이것을 실행하고 있습니다.eclipse-link JPA에서 DB로 SQL 호출을 추적하는 방법

감사

+0

P6spy와 같은 프록시 드라이버 사용 – Andreas

+0

"트랙"이란 정확히 무엇을 의미합니까? 이 용어에 대해 다른 해석이 가능합니다. – MWiesner

답변

1

여러 가지 옵션을 당신은 시도 할 수 있습니다 :

당신 수 당신이하려고하는 경우 디버깅에 유용 할 수 있습니다 log4jdbc 등처럼 안드레아스, 또는 다른 사람에 의해 언급 한 바와 같이에 p6spy 같은 프록시를 사용하려고 프록시가 모든 호출을 가로 챌 수 있으므로 여러 클라이언트의 호출을 추적합니다.

그러나이 경우 EclipseLink의 내장 로깅 기능을 사용하는 것이 좋습니다. 아래 그림과 같이 일식 링크에서 당신이 지속성 XML의 항목을 통해 문장의 로깅을 구성 할 수 있습니다

 <property name="eclipselink.logging.level.sql" value="FINE"/> 
    <property name="eclipselink.logging.parameters" value="true"/> 
내가 코드를 변경 한 후 응용 프로그램을 배포 해제 및 중지하고 다시 작성하기 전에 응용 프로그램 서버를 다시 시작하는 것을 제안

및 그런 다음 응용 프로그램을 다시 전개하십시오. 로깅이 전체주기를 거치지 않고 시작되는 경우는 거의 없습니다.

마지막 옵션은 SQL 추적입니다. 데이터베이스 백엔드에 따라 프로파일 또는 추적을 실행할 수 있습니다. SQL 서버를 사용하면 추적 할 수 있습니다. 그런 다음 데이터베이스에 대해 실행 된 모든 SQL을 볼 수 있습니다. 이것은 잘못 구성된 경우를 제외하고는 모든 활동을 기록하므로 시나리오가 과도 할 것입니다.