HibernateJpaVendorAdapter ist generateDdl nicht ändern von Tabellen

Ich entwickle eine website mit Spring+JPA+Hibernate. In der Persistenz-Konfiguration (JPA+Hibernate) ich werde die HibernateJpaVendorAdapter ist generateDdl-Attribut auf true und in der Tat neue Entitäten korrekt erstellen die neue Tabelle in der DB.

Sobald die Tabelle erstellt wurde, obwohl, wenn ich, fügen Sie ein Attribut der Entität, erwarte ich, dass die HibernateJpaVendorAdapter zu ändern, die Tabelle und fügen Sie die Spalte als gut. Dies ist nicht passiert und es ist seltsam, weil in der Java-AbstractJpaVendorAdapter ist setGenerateDdl Methode Dokumentation es gibt: "Legen Sie fest, ob beim generieren der DDL-nach der EntityManagerFactory initialisiert wurde, erstellen/Aktualisierung alle relevanten Tabellen."

JPA+Hibernate-Konfiguration:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${db.driverClassName}" />
    <property name="url" value="${db.url}" />
    <property name="username" value="${db.username}" />
    <property name="password" value="${db.password}" />
</bean>

<bean id="jpaAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" />
    <property name="showSql" value="${db.showSql}" />
    <property name="generateDdl" value="${db.generateDdl}" />
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="jpaVendorAdapter" ref="jpaAdapter" />
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
        </props>
    </property>
    <property name="dataSource" ref="dataSource" />
</bean>

persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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_1_0.xsd"
        version="1.0">

    <persistence-unit name="m8tsPU" />
</persistence>

Mache ich etwas falsch?

InformationsquelleAutor satoshi | 2012-01-23
Schreibe einen Kommentar