草庐IT

H2Database

全部标签

java - 更改序列 H2DB 的数据类型

我需要更改存储到H2DB中的序列的返回值,当我通过直接SQL查询调用nextVal时,H2返回一个BigInt并且我需要一个BigDecimal。我无法转换或转换这个值,我需要H2返回一个BigDecimal。我该怎么做?编辑:我无法更改Java代码,因为我正在测试,因此无法转换或转换来自DB的请求值。 最佳答案 如果允许替换H2jar文件,您可以创建自己的H2补丁版本。在org.h2.expression.Function中更改addFunctionNotDeterministic("NEXTVAL",NEXTVAL,VAR_AR

java:在 H2 中的 executeBatch() 之后检索键

我正在尝试从executeBatch()事务中检索生成的key,但我只获得了要添加的最后一个key。这是我的代码:PreparedStatementps_insert=conn.prepareStatement(insertQuery,PreparedStatement.RETURN_GENERATED_KEYS);for(inti=0;i我做错了什么?编辑:很抱歉没有提到我在嵌入式模式下使用H2(http://www.h2database.com/html/main.html)数据库。 最佳答案 根据H2jdbcdriverjav

java - H2 数据库 : How to have lowercase for tablename?

我想将所有表名都保留为小写。示例人我使用Liquibase设置我的数据库,它看起来像AddPersonTable我使用H2数据库来运行我的集成测试并在pom.xml中设置为cargo.datasource.driver=${h2.driver}|cargo.datasource.url=${datasource.url}|cargo.datasource.jndi=${datasource.jndi}|cargo.datasource.username=${h2.user}|cargo.datasource.password=${h2.user}datasource.url看起来像jd

java - 在 h2o 中加载大于内存大小的数据

我正在试验在h2o中加载大于内存大小的数据。H2oblog提到:关于更大数据和GC的注释:当Java堆太满时,我们会执行用户模式磁盘交换,即,您使用的大数据多于物理DRAM。我们不会死于GC死亡螺旋,但我们会降级到超出核心的速度。我们将按照磁盘允许的速度进行。我亲自测试过将12Gb数据集加载到2Gb(32位)JVM中;加载数据大约需要5分钟,运行逻辑回归又需要5分钟。这是连接到h2o3.6.0.8的R代码:h2o.init(max_mem_size='60m')#alloting60mbforh2o,Risrunningon8GBRAMmachine给予javaversion"1.8.

java - 在 H2 [SPRING-BOOT] 的 NamedParameterJDBCTemplate 上使用整数时的未知数据类型

我正在使用带H2的内存数据库测试Dao。我将一个int传递给带有map的查询以执行它。此查询在OracleSQL上运行正常,但在H2中未成功。DAO@OverridepublicintdeleteCancelled(intdays){finalMapnamedParameters=newHashMap();namedParameters.put(DAYS,days);namedParameters.put(STATUS,StatusEnum.CANCELLED.toString());intupdated=this.namedParameterJdbcTemplate.update(Q

java - 关闭H2数据库;压缩还是碎片整理?

在我的应用程序中,我连接到一个H2数据库,我最近一直在研究这个数据库是如何关闭的。在我的连接字符串中,我设置了DEFRAG_ALWAYS=true,根据H2文档Eachtimethedatabaseisclosed,itisfullydefragmented(SHUTDOWNDEFRAG).现在我假设当JVM关闭时,关闭Hook将关闭数据库并对其进行碎片整理(就像执行SHUTDOWNDEFRAG)。但是如果我要在退出应用程序之前执行SHUTDOWNCOMPACT,同时在连接字符串中应用DEFRAG_ALWAYS=true,将使用哪个关闭过程? 最佳答案

Tomcat DBCP(Database Connection Pool) 数据库连接池入门介绍

拓展阅读从零开始手写mybatis(三)jdbcpool如何从零手写实现数据库连接池dbcp?万字长文深入浅出数据库连接池HikariCP/CommonsDBCP/Tomcat/c3p0/druid对比DatabaseConnectionPool数据库连接池概览c3p0数据池入门使用教程alibabadruid入门介绍数据库连接池HikariCP性能为什么这么快?ApacheTomcatDBCP(DatabaseConnectionPool)数据库连接池-01-入门介绍vibur-dbcp并发、快速且功能完备的JDBC连接池,提供先进的性能监控功能-01-入门介绍介绍一下tomcatdbcpA

java - H2数据库TIMESTAMP列的默认值

我正在使用H2数据库编写集成测试。我的数据库(生成的)初始化包括这个脚本(因为生成的连接表没有这一列):ALTERTABLEINT_USRADDIU_INSDTTMTIMESTAMPDEFAULTNOW();这是我创建记录的方式:IntegrationintegrationOne=createIntegration(firstId,"FIRST");IntegrationintegrationTwo=createIntegration(secondId,"SECOND");flushAndClear();userService.logRecentIntegration(integrat

java - 在 H2 数据库中找不到函数 "TO_DATE"

我有一个SQL语句并尝试使用Java中的H2内存数据库执行。抛出以下异常。SQL:SELECTACCT_RULE_ID,ACCT_ACTION_IDFROMACCT_RULEWHERE(ACCT_ACTION_ID=?)AND(START_DATETIMEto_char(?,'mm/dd/yyyyHH:MI:SSAM'))用Id替换第一个参数,用新的Date()值替换第二个和第三个参数。Exception:Causedby:org.h2.jdbc.JdbcSQLException:Function"TO_DATE"notfound;SQLstatement:

java - 如何使用 JPA 2.1 属性 javax.persistence.schema-generation.database.action?

javax.persistence.schema-generation.database.action的允许值为无(不提供任何服务......)创建(仅在应用程序第一次启动时有效,因为如果创建已存在的模式,则由于大多数数据库(例如derby11.x)导致所有进一步启动失败drop-and-create(它永远不会保留任何数据,这引发了为什么它是持久性标准规范的一部分的问题——假设调试目的)drop(对称地失败create成功绝对没有选择使用这些值中的任何一个,我也看不到它们的规范有任何意义-假设您不希望应用程序的用户启动应用程序一次(使用create),破解persistence.xm