2011-01-26 2 views
2

이 질문은 이전에 게시 된 두 개의 스레드를 기반으로합니다. liquibase 및 hibernate annotations

Hibernate using JPA (annotated Entities) and liquibase

Liquibase diffChangeLog against a Hibernate mapping definition

내가 주석을 최대 절전 모드 사용하고있는 경우 내 혼란이

, 난 여전히 변경 로그에 변경 집합을 작성해야합니까.

너무 많은 사람들이 지금 최대 절전 모드 주석을 사용하고 있습니다. 누군가가 내게 필요한 것들을 보여줌으로써 진정한 효과를 얻길 바랍니다. 인터넷에서 좋은 예는 없습니다.

+0

JPA 주석과 함께 Liquibase를 사용하는 방법에 대해 몇 가지 예를 들려 줄 수 있습니까? –

답변

4

liquibase hibernate diff의 JPA/Annotation 지원은 과도하게 테스트되지 않았으며 모든 사례와 주석을 다루지 않으므로 현재 워크 플로우의 일부로 신뢰할 수있는 상태가 아닐 수 있습니다.

즉, 완전히 테스트 된 경우에도 수동으로 변경 집합을 작성하는 것이 좋습니다. Hibernate 지원은 현재 데이터베이스와 hibernate가 현재 데이터베이스에서 최대 절전 모드 데이터베이스로 이동하기 위해 변경 집합을 기대하고 출력하는 데이터베이스 간의 차이점을 수행합니다. 이 방법은 종종 효과가 있지만 어떤 데이터베이스 편차 기반 프로세스에도 고유 한 문제가 있습니다 (http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html 참조). 개인적으로, 실행하기 전에 최대 절전 모드 diff에 의해 추가 된 변경 집합을 검사하고 수정하는 것이 가장 좋기 때문에 직접 추가하기가 쉽습니다. 그렇게하면 changeLog를 더 읽기 쉽게 만드는 더 높은 수준의 변경 사항 (예 : introduLookupTable)을 활용할 수 있습니다.

변경 집합 생성이 좋은 이유는 분명히 지원되는 환경 및 워크 플로입니다. 그러나 아직 없으며 liquibase를 사용하지 않고도 최대 절전 모드를 사용할 수 있습니다.

+2

hi nathan, 당신이 나에게 실용적인 예제를 찾지 못해서 정말 멋지 겠지만 (하이버 네이트 주석이 있거나 없을 때) maven을 사용하여 어떻게 할 수 있는지에 대한 예제를 줄 수 있다면. 또한 liquibase가 어떻게 작동하는지 명확하게 이해할 수 있도록 예제 zip을 친절하게 추가 할 수 있습니까? 아주 기본적인 바보 같은 예제조차도 충분할 것입니다. – Ikthiander

관련 문제