如何使用Spring数据和基于Java的配置创建ddl文件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用Spring数据和基于Java的配置创建ddl文件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2907字,纯文字阅读大概需要5分钟。
内容图文
![如何使用Spring数据和基于Java的配置创建ddl文件?](/upload/InfoBanner/zyjiaocheng/661/bf5cf4fff79b4fa1a56f0223b0b35d50.jpg)
我已经启动并运行了Spring数据JPA配置.我想从带注释的实体中获取ddl sql文件.
我知道这已经被问过很多次了.但是我找不到解释基于Java的spring配置如何做到这一点的有用信息.
这是我的JPA设置:
@Bean(name = BEAN_ENTITY_MANAGER_FACTORY)
public EntityManagerFactory entityManagerFactory() {
LocalContainerEntityManagerFactoryBean em = createLocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setJpaVendorAdapter(jpaVendorAdapter());
em.setPersistenceUnitName(getPersistenceUnitName());
em.setPackagesToScan(getPackagesToScan());
processOptionalProperty(Environment.HBM2DDL_AUTO, em);
processOptionalProperty(HIBERNATE_JDBC_BATCH_SIZE, em);
processOptionalProperty(EHCACHE_CONFIGURATIONRESOURCENAME_PROPERTY, em);
em.afterPropertiesSet();
return em.getObject();
}
@Bean(name = BEAN_HIBERNATE_JPA_VENDOR_ADAPTER)
public HibernateJpaVendorAdapter jpaVendorAdapter() {
HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
adapter.setShowSql(Boolean.parseBoolean(getPropertyValue(HIBERNATE_SHOW_SQL_PROPERTY)));
adapter.setDatabasePlatform(getPropertyValue(HIBERNATE_DATABASE_PLATFORM_PROPERTY));
adapter.setGenerateDdl(true);
return adapter;
}
hbm2ddl的设置如下:
hibernate.hbm2ddl.auto=create
此配置在应用程序启动时创建必要的数据库表.如何获取包含所有ddl命令的SQL脚本来设置数据库?
解决方法:
经过大量谷歌搜索,然后尝试并出错,这是我找到的解决方案.
要生成ddl脚本,您需要maven hibernate3:hbm2ddl plugin.要获得插件,我已将其添加到pom.xml中:
<plugin>
<!-- run "mvn hibernate3:hbm2ddl" to generate a schema -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>jpaconfiguration</implementation>
</component>
</components>
<componentProperties>
<persistenceunit>eai</persistenceunit>
<outputfilename>ddl-file.sql</outputfilename>
<drop>false</drop>
<create>true</create>
<export>false</export>
<format>true</format>
</componentProperties>
</configuration>
<dependencies>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
</dependencies>
</plugin>
令人讨厌的一点是依赖项部分.谢谢to this blog post指出这一点.
我遇到的第二件事是持久性单元名称.通过将名为persistence.xml的文件放入META-INF目录中进行配置.
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
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">
<persistence-unit name="eai">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
<!-- other properties ... -->
</properties>
</persistence-unit>
</persistence>
该文件还包含休眠的方言.这对于获取使您的数据库开心的sql很重要.
内容总结
以上是互联网集市为您收集整理的如何使用Spring数据和基于Java的配置创建ddl文件?全部内容,希望文章能够帮你解决如何使用Spring数据和基于Java的配置创建ddl文件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。