2016-08-14 7 views
0

하이버 네이트가 스키마 업데이트를 수행하는 것처럼 엔티티가 바인딩되기 바로 전에 자신의 스키마 변경 사항 (예 : varchar를 텍스트에 추가하고 인덱스 생성)을 시도하고있다. hibernate의 스키마 업데이트 자체에 내 자신의 사용자 지정 SQL을 포함시킬 수 있다면 이상적입니다. 예를 들어, 기존의 hibernate 클래스를 확장하고 응용 프로그램이 내장 된 것 대신에 광산을 사용할 수 있도록 허용합니다.Hibernate에서 내 자신의 스크립트를 실행한다. 스키마 업데이트가 발생한다.

org.hibernate.internal.SessionFactoryImpl은 final입니다.

내 자체 org.hibernate.tool.schema.spi.SchemaMigrator를 구현할 수 있습니다. 누구든지 전에 이것을 시도 했습니까?

나는 봄의 부팅 v1.4.0.M3을 사용하고 있습니다. 특정의 의존성이있는 경우에 대비해, 그렇게 생각하지 않습니다.

건배!

답변

1

스프링 부트에는 JDBC 초기화 프로그램이 있으며, 시작할 때 .sql 스크립트를 실행합니다. Flyway를 사용하여 데이터베이스 버전과 실행 된 스크립트를 추적하는 것이 좋습니다.

http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html#howto-initialize-a-database-using-spring-jdbc

+0

나는 활주로에서 나옵니다. Flyway를 제거한 이후 엔 엔티티를 보는 스키마를 자동으로 생성하지 않습니다. DDL을 직접 작성해야합니다. 나는 그 길을 원하지 않는다. 나는 기존의 hbb2ddl 기능을 그대로 유지하고 그 위에 확장하려고합니다. – prageeth

+0

Spring JDBC 초기화 프로그램 기능을 사용하는 것이 좋습니다. 나는 그것을 밖으로 시도 할 것이다. 성공하면 이것을 정답으로 받아 들일 것입니다. – prageeth