在以前的项目中,我使用hbm2ddl
中的hibernate3-maven-plugin
任务生成DDL代码 - 我在启用调试输出的情况下运行了maven任务,并以可接受的方式将DDL记录到控制台。实际上,我使用此代码作为部署的初始迁移。配置是这样的:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>3.0</version>
<configuration>
<hibernatetool>
<annotationconfiguration
configurationfile="src/main/resources/db/database/config/annotatedhibernate.cfg.xml"
propertyfile="src/main/resources/db/database/config/hibernate.properties" />
<hbm2ddl drop="true" create="true" delimiter=";" format="true" console="true" outputfilename="output.ddl" />
</hibernatetool>
</configuration>
现在我发现了spring-data-jpa
之美,并将HibernateJpaVendorAdapter
配置为生成我的DDL代码。很快,我希望部署并喜欢将可管理的DDL代码记录到控制台(或某个地方),但我只想出如何设置和配置hibernate日志记录并能够设置日志级别和内容 - 但是美丽的DDL就像在maven调试永远不会出现。如何使用HibernateJpaVendorAdapter启用它。目前的配置如下:
<bean id="hibernateJpaVendorAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="generateDdl" value="true" />
<property name="showSql" value="true" />
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" />
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">create-drop</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="packagesToScan" value="my.recipes.api.impl" />
</bean>