我奋力打造JPA
注释类DIFF变更对我的数据库,使用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
代替),但他说,我们可以使用这些wiki页面上定义了一些网址。 冬眠使用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-休眠[3 | 4]添加.jar文件到LIQUIBASE_HOME / lib目录。
我这样做了。 不过,不工作。 有人可以解释我somewhow我失去了什么?
非常感谢!