Я изо всех сил пытаюсь создать наборы изменений JPA
аннотированных классов для моей базы данных, используя liquibase. Тем не менее, я очень смущен несколькими вещами.
Я использую следующее:
liquibase.properties
#liquibase.properties
driver: org.postgresql.Driver
classpath: real_path/.m2/repository/org/postgresql/postgresql/9.2-1002-jdbc4/postgresql-9.2-1002-jdbc4.jar
url: jdbc:postgresql://localhost:5432/diquiz
username: postgres
password: postgres
referenceUrl: hibernate:ejb3:diQuiz
referenceUsername: postgres
referencePassword: postgres
changeLogFile: changelog-master.xml
и
java -jar real_path\liquibase-core-3.0.6.jar diffChangeLog
и обычный файл persistence.xml
со стандартной конфигурацией JPA.
Я получаю сообщение об ошибке: Liquibase diffChangeLog Failed: java.lang.RuntimeException: Cannot find database driver: Driver class was not specified and could not be determined from the url (hibernate:ejb3:unit)
Я сбит с толку, потому что в приведенном ниже ответе говорится, что нам нужен файл hibernate.cfg.xml
(даже у меня вместо него persistence.xml
), но затем он говорит, что мы можем использовать некоторые URL-адреса, которые определены на странице вики. Гибернация с использованием JPA (аннотированных объектов) и liquibase
Страница Wiki говорит, что если нам нужно использовать JPA, мы можем выбирать между тремя типами URL-адресов.
hibernate:ejb3:myPersistenceUnit
hibernate:ejb3:com.example.MyConfigFactory
hibernate:ejb3:myPersistenceUnit?hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
Итак, я выбираю первый и устанавливаю в Liquidbase.properties его как referenceUrl
.
Кроме того, на странице вики упоминается: (https://github.com/liquibase/liquibase-hibernate/wiki)
Если вы используете версию Liquibase для командной строки, вам просто нужно добавить файл liquibase-hibernate[3|4].jar в каталог LIQUIBASE_HOME/lib.
Я тоже это сделал. Все равно не работает. Может кто-нибудь объяснить мне как-то, что мне не хватает?
Большое спасибо!