栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从Java代码为jpa实体创建ddl?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从Java代码为jpa实体创建ddl?

将数据从数据库导出为sql

使用liquibase开源项目

Liquibase是一个开源(LGPL),独立于数据库的库,用于跟踪,管理和应用数据库更改。它建立在一个简单的前提下:所有数据库更改(结构和数据)均以基于XML的描述性方式存储并检入源代码管理。

为给定的JPA实体生成创建和删除脚本

我们使用以下代码生成drop和create语句:只需使用所有实体类构造该类,然后调用create / dropTablescript。

如果需要,可以改用persitence.xml和持久性单元名称。只是说些什么,我也会发布代码。

导入java.util.Collection;导入java.util.Properties;导入org.hibernate.cfg.AnnotationConfiguration;导入org.hibernate.dialect.Dialect;导入org.hibernate.ejb.Ejb3Configuration;/ ** *根据JPA / Hibernate批注的SQL Creator for Tables。 * * 采用: * * {@link #createTablesscript()}创建表创建脚本 * * {@link #dropTablesscript()}创建表销毁脚本 *  * /公共类SqlTableCreator {    私有最终的AnnotationConfiguration hibernateConfiguration;    私有的最终Properties DialectProps;    公开SqlTableCreator(最终收藏>实体){        最后的Ejb3Configuration ejb3Configuration = new Ejb3Configuration();        for(最终类别实体:entities){ ejb3Configuration.addAnnotatedClass(entity);        }        DialectProps = new Properties();        DialectProps.put(“ hibernate.dialect”,“ org.hibernate.dialect.SQLServerDialect”);        hibernateConfiguration = ejb3Configuration.getHibernateConfiguration();    }    / **     *创建SQL脚本以创建所有表。     *      * @return表示SQL脚本的{@link String}。     * /    公共字符串createTablesscript(){        最终的StringBuilder脚本= new StringBuilder();        最后的String [] creationscript = hibernateConfiguration.generateSchemaCreationscript(Dialect     .getDialect(dialectProps));        for(最终字符串字符串:creationscript){ script.append(string).append(“;  n”);        }        script.append(“  ngo  n  n”);        返回script.toString();    }    / **     *创建SQL脚本以删除所有表。     *      * @return表示SQL脚本的{@link String}。     * /    公共字符串dropTablesscript(){        最终的StringBuilder脚本= new StringBuilder();        最后的String [] creationscript = hibernateConfiguration.generateDropSchemascript(Dialect     .getDialect(dialectProps));        for(最终字符串字符串:creationscript){ script.append(string).append(“;  n”);        }        script.append(“  ngo  n  n”);        返回script.toString();    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573485.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号