#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