Java 日食不';不要创建表

Java 日食不';不要创建表,java,spring,eclipselink,Java,Spring,Eclipselink,我正在用eclipseLink和Spring开发一个应用程序。现在我使用的是类似h2的数据库。我的问题是eclipseLink无法创建表 这是我的配置 Persistence.xml: <persistence> <persistence-unit name="myUnit"> //some classes definition <properties> <property name="javax.persis

我正在用eclipseLink和Spring开发一个应用程序。现在我使用的是类似h2的数据库。我的问题是eclipseLink无法创建表

这是我的配置

Persistence.xml:

<persistence>

    <persistence-unit name="myUnit">

    //some classes definition

     <properties>

     <property name="javax.persistence.jdbc.driver" value="org.h2.Driver" />
     <property name="javax.persistence.jdbc.url" value="jdbc:h2:file:C:\Users\user\Desktop\myFolder\test.db" />
     <property name="javax.persistence.jdbc.user" value="sa" />
     <property name="javax.persistence.jdbc.password" value="" />
     <property name="eclipselink.ddl-generation" value="create-tables" />
     <property name="eclipselink.composite-unit.member" value="true"/>
     <property name="eclipselink.target-database"      value="org.eclipse.persistence.platform.database.H2Platform"/>
     <property name="eclipselink.ddl-generation.output-mode" value="database" />
     <property name="eclipselink.create-ddl-jdbc-file-name" value="create.sql"/>

      </properties>

    </persistence-unit>



</persistence>

//某些类定义
spring-context.xml

<beans>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
        p:entityManagerFactory-ref="emf">
        <property name="persistenceUnitName" value="myUnit" />
    </bean>

    <bean id="eclipseLinkJpaVendorAdapter"
        class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
    </bean>


    <tx:annotation-driven />

    <bean id="emf"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
        p:jpaVendorAdapter-ref="eclipseLinkJpaVendorAdapter"
        p:persistenceUnitName="myUnit">
        <property name="jpaPropertyMap">
            <map>
                <entry key="eclipselink.cache.shared.default" value="false" />
                <entry key="eclipselink.weaving" value="false" />
            </map>
        </property>
        <property name="loadTimeWeaver">
            <bean
                class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" />
        </property>
    </bean>

</beans>

而且我发现文件create.sql是空的


我哪里做错了?

SQL凭据正确吗?你有错误吗?ddl-generation看起来很好。我没有收到任何错误,凭证似乎正确。打开eclipselink日志,查看它正在尝试做什么。您也在使用“数据库”,但指定了一个DDl文件。如果您希望同时创建DDL文件,则应使用“两者”。文件和表应在首次部署EntityManager时创建。如果您没有访问EM,请尝试添加eclipselink.deploy-on-startup属性:可能问题在于myUnit是复合持久性单元的成员,因为如果我以独立方式使用它,一切都会正常工作