/ / Play framework 2.2.1 zawsze próbuje utworzyć DB podczas uruchamiania - java, hibernacja, jpa, playframework-2.0, persistence.xml

Play framework 2.2.1 zawsze próbuje utworzyć bazę danych podczas uruchamiania - java, hibernate, jpa, playframework-2.0, persistence.xml

Mam projekt w Play 2.1.5 i zdecydowałem się na migrację do Play 2.2.1 http://www.playframework.com/documentation/2.2.1/Migration22 i wszystko działa oprócz tego przy uruchomieniuwygląda na to, że projekt próbuje utworzyć bazę danych zamiast go aktualizować. Zawsze dostaję błędy duplikacji. Nie miałem tego problemu podczas korzystania z Play 2.1.5. Nie widzę żadnego problemu w mojej konfiguracji, ale może coś przeoczyłem:

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 zależności zawierają:

javaCore,
javaJdbc,
javaJpa,
cache,
"org.hibernate" % "hibernate-entitymanager" % "4.2.7.Final"

Odpowiedzi:

0 dla odpowiedzi № 1

Z

<property name="hibernate.hbm2ddl.auto" value="update"/>

nakazujesz aktualizację schematu zgodnie ze swoimi modelami przy każdym uruchomieniu aplikacji. Jeśli nie zmodyfikujesz schematu, spróbuj ustawić wartość w celu sprawdzenia poprawności. BTW Duplicate entry "VALUE" for key "COLUMN_NAME" błąd sugeruje, że próbujesz dokonać wstawiania / aktualizacji w czasie rozpoczęcia, prawda?