我在Play 2.1.5中有项目,我决定迁移到Play 2.2.1。我跟着http://www.playframework.com/documentation/2.2.1/Migration22并且一切正常,除了在启动时看起来项目正在尝试创建数据库而不是更新它。我总是得到两面性错误。我在使用Play 2.1.5时没有遇到这个问题。我没有看到我的配置有任何问题,但也许我忽略了一些事情:
application.conf :
db.default.jndiName=DefaultDS
jpa.default=defaultPersistenceUnit
db.default.url="jdbc:mysql://localhost/database"
db.default.driver=com.mysql.jdbc.Driver
的persistence.xml :
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>DefaultDS</non-jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
Build.scala 依赖项包含:
javaCore,
javaJdbc,
javaJpa,
cache,
"org.hibernate" % "hibernate-entitymanager" % "4.2.7.Final"
答案 0 :(得分:0)
使用
<property name="hibernate.hbm2ddl.auto" value="update"/>
每个启动应用程序时,您都会根据模型更新架构。如果您未能修改架构,请尝试将值设置为validate。
BTW Duplicate entry 'VALUE' for key 'COLUMN_NAME'
错误表示您尝试在开始时进行一些插入/更新,不是吗?