`
SimonLei
  • 浏览: 176754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用 h2 替换 hsql

阅读更多

开发时用hsql做数据库,没什么问题。部署的时候,碰到数据量比较大的情况,

就有点感觉慢了。这个时候,想替换方案时,考虑了几个可能的替代。

一个是mysql,肯定没问题,但是部署麻烦,被否定了。

其他的java数据库,可选的包括 mocki,这个很久没更新,否了。

derby 也就是 java db看起来也不错,不过更让我感兴趣的是 h2 。

就是原来 hsql 的作者另起炉灶写的一个数据库,功能和特性都很强大,见 这儿

 

我比较喜欢的是它自带了一个管理界面。其他的功能例如能加密存储,也很感兴趣,

还有更强的事务能力什么的。

 

然后就是一个迁移的问题了。本身它的使用和 hsql 很像,也支持hibernate。

修改一下Hibernate的配置,把url和dialect之类的改一下就OK了。迁移的问题,

我还是使用 kettle 来做,非常方便。现在 kettle 改名叫 pentaho data integration了,

本身没啥变化。

 

迁移的时候,有一个问题需要注意,那就是先用hibernate来自动生成一下表结构。

用kettle的拷贝表,拷贝出来得到的表结构有问题,连自增量的主键都没设置好。

步骤如下:

 

1. 更改hibernate配置

2. 启动应用,用hibernate自动生成空白的表结构,然后关闭应用

3. 打开 kettle,设置来源是hsql的库,目标是h2的库

4. 使用 kettle 的 想到-》拷贝表向导,将所有的表都选中

5. 运行 kettle 的job,就ok了。

 

整个迁移过程非常简单,运行应用之后,也没发现什么问题。

另外,URL里面记得添加 ;MVCC=TRUE 否则如果有个长事务,其他的连接就没法读了。

0
0
分享到:
评论

相关推荐

    hsql查询语法

    需要注意的是,FETCH连接通常不需要被指定别名,因为相关联的对象不应当被用在WHERE子句(或其他任何子句)中。同时,相关联的对象并不在查询的结果中直接返回,但可以通过它们的父对象来访问到它们。 HSQL查询语法...

    hsql可视化工具

    HSQL(HyperSQL)是一种轻量级、高性能的关系型数据库管理系统,它支持SQL标准并提供了多种运行模式,包括单用户模式、嵌入式模式和服务器模式。HSQL因其小巧、快速和易于使用而受到开发者们的青睐,尤其适用于开发...

    hsql数据库详细教程

    【HSQL数据库详解】 HSQL(HyperSQL)数据库是一款轻量级、开源的Java数据库管理系统,适用于各种项目,尤其在Java开发环境中广受欢迎。它的特点是体积小巧,仅一个jar文件即可包含所有必需组件,如数据库引擎、...

    如何使用hsql数据库

    如何使用hsql数据库

    收集的全部HSQL DataBase资料(HSQL DataBase-关于Java 的纯数据库)

    HSQL Database,全称为HyperSQL Database,是一款轻量级、高性能、开源的SQL关系型数据库管理系统,特别适合于Java应用程序。这款数据库系统以其简洁的API、快速的性能和全面的SQL支持,在Java开发环境中得到了广泛...

    HSQL安装部署使用手册

    《HSQL数据库安装部署使用详解》 HSQL(HyperSQL)是一种轻量级、高性能的关系型数据库管理系统,常用于开发测试环境或者嵌入式应用。本文将详细介绍HSQL的安装、部署以及使用过程,帮助您顺利搭建并操作HSQL数据库...

    有关hsql处理文本数据库的笔记

    HSQL(HyperSQL)是一个开源的关系型数据库管理系统,它支持内存模式和文件模式,能够处理文本格式的数据,如CSV(逗号分隔值)文件。在本篇笔记中,我们将探讨如何使用HSQL处理文本数据库,特别是如何导入和操作CSV...

    HSQL源代码

    《深入理解HSQL源代码与Eclipse环境搭建》 HSQLDB,全称为HyperSQL Database,是一款开源的关系型数据库管理系统,特别适用于Java应用程序。它的源代码开放,使得开发者能够深入理解其内部工作原理,进行定制化开发...

    良葛格Java学习笔记

    【良葛格Java学习笔记】是一份全面且深入的Java编程学习资料,旨在帮助初学者和进阶者掌握Java这门强大的编程语言。... 1. **Java基础知识**:Java的学习始于基础,包括变量、常量、数据类型(如整型、浮点型、字符型...

    hsql数据库,体积最小的数据库,使用最方便的数据库

    hsql数据库,体积最小的数据库,使用最方便的数据库,不用安装,解压就能用,携带方便

    Spring数据库访问(HSQL)(三)

    在本篇博文中,我们将深入探讨Spring框架在数据库访问方面的应用,特别关注使用HSQL内存数据库的实践。HSQL数据库是一种轻量级的关系型数据库管理系统,适用于开发测试和快速原型设计,因为它不需要独立服务器进程,...

    hsql-file数据库的java简单调用实现

    请根据实际情况替换`/path/to/your/test.db`为你自己的数据库文件路径。 在实际应用中,你可能还需要处理事务管理、异常处理、关闭资源等更复杂的情况。Maven项目中的`pom.xml`文件应包含如下依赖以使用HSQLDB: `...

    Hsql的完整demo

    首先说一下hsqldb几个优点 <br> 1. 轻巧,只有600多K,运行速度非常快。结合Hibernate数据库无关的特性,非常适合在项目开发的时候使用。 2. 作为单元测试数据库。单元测试的时候,启动HSQLDB的file模式,...

    用maven构建SpringMVC+JPA+Hibernate+Hsql+jetty的web项目

    【标题】"用maven构建SpringMVC+JPA+Hibernate+Hsql+jetty的web项目"涉及了多个核心的Java Web开发技术,这里我们将深入探讨这些技术以及如何将它们整合到一起。 1. Maven:Maven是Apache的一个开源项目,它是一个...

    Spring数据库访问(HSQL)(四)

    Spring提供了声明式事务管理,使得我们可以用注解如@Transactional来控制事务边界。例如: ```java @Service @Transactional public class VehicleService { @Autowired private VehicleRepository repository; ...

    hsql及其官方说明书

    HSQldb,全称为HyperSQL Database,是一个完全用Java语言编写的开源关系型数据库管理系统。它的设计目标是提供一个轻量级、高性能、易于使用且完全符合SQL标准的数据库解决方案。HSQldb适用于各种应用场景,从小型...

    HSQL数据库2.2.5

    《HSQL数据库2.2.5:轻量级数据库解决方案详解》 HSQL数据库,全称为HyperSQL Database,是一款开源的、轻量级的Java数据库管理系统,尤其适用于内存模式、单机模式以及分布式多机环境。HSQLDB 2.2.5是其一个重要的...

Global site tag (gtag.js) - Google Analytics