2012-01-30 1 views
2

저는 레거시 데이터베이스에 대해 몇 가지 데이터베이스 매핑을 작성해야한다는 Java 프로젝트를 진행하고 있습니다.
이 작업을 수행하면서 필자는 매핑이 유효한지 어떻게 테스트했는지 질문하기 시작했습니다. 내가 노련한 JPA 주석 사용자가 아니기 때문에 대부분 내 매핑에서 몇 가지 실수를 저질렀습니다.Java EE 프로젝트에서 JPA2 매핑을 테스트하는 방법은 무엇입니까?

그래서 주석을 사용하여 수동으로 작성된 JPA 매핑을 테스트하는 것과 관련하여 일반적인 의견/우수 사례는 무엇입니까?

답변

5

당신이 최대 절전 모드를 사용하는 경우, 당신은 당신의 persistence.xml 파일에 다음을 설정할 수 있습니다

<property name="hibernate.hbm2ddl.auto" value="validate" /> 

얻기 위해 기존의 스키마 만 스키마를 변경하지 유효성을 검사하는 최대 절전 모드. 매핑이 DB에 유효한지 아닌지를 빠르게 확인할 수 있습니다.

4

저는 OpenEJB를 사용하여 EJB 기반 응용 프로그램에서 엔티티 매핑을 상당히 성공적으로 테스트했습니다. 그것은 좋은 트랜잭션 롤백 기능을 가지고 있으므로 모든 단위 테스트는 독립적입니다 (OpenEJB 예제의 "트랜잭션 롤백"을보십시오).

일반적으로 가장 좋은 방법은 메모리 내 데이터베이스 (예 : hsql)에서 db 매핑을 테스트하고 모든 테스트 케이스가 끝날 때 변경 사항을 롤백하는 것입니다. DBUnit project을 살펴볼 수도 있습니다.

관련 문제