Проблема с hibernate.hbm2ddl.auto при миграции

#spring-boot #hibernate #jpa #hbm2ddl

Вопрос:

Я перенес проект весенней загрузки с MySQL на SQL Server. У меня нет необходимых ролей для использования hibernate.hbm2ddl.auto = обновление. Как я могу обновить, не имея доступа к системному администратору?

Мне нужно обновить, потому что я не могу потерять записи

 2021-07-21 | 13:30:17.660 |  INFO | main                 | o.h.t.h.SchemaUpdate      | HHH000228: Running hbm2ddl schema update
2021-07-21 | 13:30:17.692 |  WARN | main                 | .e.j.s.SqlExceptionHelper | SQL Error: 229, SQLState: S0005
2021-07-21 | 13:30:17.692 | ERROR | main                 | .e.j.s.SqlExceptionHelper | The SELECT permission was denied on the object 'sequences', database 'mssqlsystemresource', schema 'sys'.
2021-07-21 | 13:30:17.692 |  WARN | main                 | ddedWebApplicationContext | Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
2021-07-21 | 13:30:17.692 |  INFO | main                 | o.a.c.c.StandardService   | Stopping service [Tomcat]
 

Ответ №1:

Я не знаю, как вы вызываете hbm2ddl, но вы можете указать выходной файл, а затем применить эти инструкции вручную. Вы можете настроить это с помощью javax.persistence.schema-generation.scripts.create-target параметра. Подробную информацию смотрите в документации: https://docs.jboss.org/hibernate/orm/5.5/userguide/html_single/Hibernate_User_Guide.html#configurations-hbmddl