2016-06-06 2 views
0

Не могли бы вы привести несколько примеров обновления таблиц базы данных из Java-кода с использованием классов сущности и гибернации.Обновления таблиц гибернации Liquibase от java-кода

Что-то вроде этого, но для аннотированных классов

Connection connection = null; 

try { 
    connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/dvdrental", "postgres", "admin"); 
    Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(connection)); 
    Liquibase liquibase = new Liquibase("C:/changelog.xml", new FileSystemResourceAccessor(), database); 
    liquibase.update(new Contexts()); 
} catch (SQLException | LiquibaseException e) { 
    e.printStackTrace(); 
} finally { 
    if (connection != null) { 
     try { 
      connection.rollback(); 
      connection.close(); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

ответ

0

Вы не можете сделать это из-за LiquiBase ничего не знает о спящем режиме.

Но вы можете обновить базу данных спящего режима по заданному свойству

hibernate.hbm2ddl.auto=update

или вы можете генерировать DDL в файл

java -cp hibernate_classpaths org.hibernate.tool.hbm2ddl.SchemaExport options mapping_files

с помощью этого инструмента вы можете экспортировать DDL в файл и выполнить скрипт вручную или сделать это автоматически (mapping_files не является обязательным)

PS: LiquiBase разработан для декларативной разметки обновлений, а не для использования с спячки вместе

может быть эта ссылка будет полезна

http://www.baeldung.com/liquibase-refactor-schema-of-java-app

+0

hibernate.hbm2ddl.auto = обновление плохая идея HTTP://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-production. Java -cp hibernate_classpaths org.hibernate.tool.hbm2ddl.SchemaExport варианты mapping_files - мы динамично развиваются расширяемым, так что это не вариант –

+0

может быть эта ссылка будет полезна http://www.baeldung.com/liquibase -refactor-схема-в-Java-приложение – vexan

 Смежные вопросы

  • Нет связанных вопросов^_^