当前位置: 首页 > news >正文

烟台放心的一站式网站建设桐梓网站建设

烟台放心的一站式网站建设,桐梓网站建设,推广普通话的手抄报怎么画,网站开发 技术指标不久前#xff0c;我必须使用内存数据库。 该活动与集成测试有关。 如您所知#xff0c;通常将内存数据库用于集成测试。 造成这种情况的原因有很多#xff1a;可移植性#xff0c;完善的环境基础结构#xff0c;高性能#xff0c;原始数据库的一致性。 问题在于如何将生… 不久前我必须使用内存数据库。 该活动与集成测试有关。 如您所知通常将内存数据库用于集成测试。 造成这种情况的原因有很多可移植性完善的环境基础结构高性能原始数据库的一致性。 问题在于如何将生产DDL模式整合到测试内存数据库中。 第一个是MySQL 第二个是HSQLDB 。 MySQL的语法不同于HSQL语法。 因此如果不进行适当的转换就不可能将MySQL表模式导入HSQLDB。 坦白说我已经花了很多时间在寻找一些解决方案这将有助于我在HSQL中导入MySQL DDL模式 。 结果不是我想要的那么好。 所有解决方案都是商业性的或非自动化的例如替换HSQL上所有MySQL特定的代码。 幸运的是我的项目使用Hibernate作为JPA实现。 所有实体都装饰有适当的Hibernate注释。 正如您将进一步看到的那样这对于MySQL模式的转换非常有帮助。 Hibernate提供了基于DDL生成实体的机制反之亦然。 因此任何使用Hibernate注释修饰的实体都可以使用Hibernate支持的DB语言来表示为表模式。 这是一个解决我的问题的类 public class SchemaTranslator {private Configuration config null;public SchemaTranslator() {config new Configuration();}public SchemaTranslator setDialect(String dialect) {config.setProperty(AvailableSettings.DIALECT, dialect);return this;}/*** Method determines classes which will be used for DDL generation. * param annotatedClasses - entities annotated with Hibernate annotations.*/public SchemaTranslator addAnnotatedClasses(Class[] annotatedClasses) {for (Class clazz : annotatedClasses)config.addAnnotatedClass(clazz);return this;}/*** Method performs translation of entities in table schemas.* It generates CREATE and DELETE scripts for the Hibernate entities.* Current implementation involves usage of {link #write(FileOutputStream, String[], Formatter)} method.* param outputStream - stream will be used for *.sql file creation.* throws IOException*/public SchemaTranslator translate(FileOutputStream outputStream) throws IOException {Dialect requiredDialect Dialect.getDialect(config.getProperties());String[] query null;query config.generateDropSchemaScript(requiredDialect);write(outputStream, query, FormatStyle.DDL.getFormatter());query config.generateSchemaCreationScript(requiredDialect);write(outputStream, query, FormatStyle.DDL.getFormatter());return this;}/*** Method writes line by line DDL scripts in the output stream.* Also each line logs in the console.* throws IOException*/private void write(FileOutputStream outputStream, String[] lines, Formatter formatter) throws IOException {String tempStr null;for (String line : lines) {tempStr formatter.format(line);;System.out.println(tempStr);outputStream.write(tempStr.getBytes());}}public static void main(String[] args) throws IOException {SchemaTranslator translator new SchemaTranslator();Class[] entityClasses {Smartphone.class};translator.setDialect(org.hibernate.dialect.HSQLDialect).addAnnotatedClasses(entityClasses).translate(new FileOutputStream(new File(db-schema.sql)));}} 上面的代码非常冗长但我对此进行了评论。 因此我希望它或多或少容易理解。 整个应用程序的代码可以在GitHub上找到 。 SchemaTranslator类在项目结构中具有以下位置 / src / test / java / com / mobapp / test / util / 借助此类您可以将您的实体采用到Hibernate支持的任何必需数据库中。 祝好运 参考 Hibernate我们的JCG合作伙伴 Alexey Zvolinskiy在Fruzenshtein的注释博客中生成了DDL Schema 。 翻译自: https://www.javacodegeeks.com/2014/01/hibernate-ddl-schema-generation.html
http://www.pierceye.com/news/134765/

相关文章:

  • 如何高效的完成网站建设步骤美食分享网站建设策划书
  • 建立网站的软件网站建设数据库的购买
  • 建网站需要多大的宽带wordpress 分享后可见
  • 自建营销型企业网站阿里网 网站备案流程
  • 与网站建设相关的论文题目wordpress图片上文字
  • 怎样搭建网站视频教程58企业网站如何做
  • 比较有名的网站建设公司wordpress 字数
  • 网站内容资源建设渭南市建设项目
  • 网站设置的参数wordpress弹窗登录注册
  • 网课系统软件网站建设费用网站做vr的收费
  • 海宁做网站的公司seo怎么学在哪里学
  • 佛山做网站多少钱服务器学生
  • 自己建网站卖东西怎么进入wordpress修改界面
  • 网站建设与制作报价wordpress菜单怎么设置目录册
  • 学生免费建设网站建设网站是否等于开展网络营销
  • 旅游网站结构图网站编程图
  • 达内网站开发培训价格安装百度到手机桌面
  • 网站服务器慢建站设计网站
  • wordpress 多站点 插件怎么做网站主页设计
  • 网站建设初稿wordpress删除自豪的
  • 某网站突然不能浏览了网站不备案能用吗
  • 厦门做个网站多少钱360建筑网官网下载
  • 镇江外贸网站建设电子工程王粟
  • 申请网站建设经费wordpress做商城网站
  • google下载app西安分类信息seo公司
  • 淘宝是什么语言做的网站手机网站开发+手机模拟器
  • 视频网站开发框架小说类网站功能建设
  • 网站规划与设计案例网站建设方案设计
  • 漯河网站建设费用成都网站建设重庆最加科技
  • 莱芜 网站wordpress 关闭警告