h2 相关问题

H2是用Java编写的关系数据库管理系统。它可以嵌入Java应用程序中,也可以在客户端 - 服务器模式下运行。 H2支持常规的基于磁盘的数据库以及内存数据库。

localhost:8080 需要登录名和密码 - tomcat + h2

我看到了有关它的其他主题:这里,但我正在使用 Spring Boot 运行内存 DB H2,我不知道如何更改我的 H2 端口。这是唯一的方法吗?我不能在同一个端口上安装 Tomcat 和数据库吗?

回答 3 投票 0

如何访问H2数据库的*.mv.db文件?

我用自己的程序创建了数据库,它显示为 mydatabase.mv.db 文件。 但是,当我尝试使用 DbVisualizer 访问相同的数据库(参数明显相同)时,它创建了两个

回答 4 投票 0

在 Spring Boot 上使用 H2 数据库批量插入

我按照这个示例(How to dobulk (multi row) inserts with JpaRepository?)创建了一个 h2 数据库示例案例。但批量插入不起作用。 模型: @Table(名称=“用户”) @实体

回答 2 投票 0

从H2控制台连接到H2数据库

我在我的应用程序属性文件中使用了以下设置。但仍然无法在 h2 控制台中看到我的表格。 应用程序属性 logging.level.org.springframework.web=信息 spring.datasource.url=

回答 4 投票 0

H2 - 默认生成的 IDENTITY 与手动分配 ID 的条目冲突

H2 是否支持自动生成的 ID 和具有显式定义的 ID 的 INSERT 之间的混合?有办法让这项工作发挥作用吗? 这是一个简单的例子: DROP TABLE IF EXISTS 测试; 创建表测试...

h2
回答 1 投票 0

如何伪造H2数据库中的ENUM列进行播放单元测试?

我有一套Play!我已经针对 H2 数据库运行了单元测试。我已经向我的模型添加了一些枚举列,但由于用于创建我的 sql 语句,测试现在失败了...

回答 3 投票 0

Spring-boot 使用 schema.sql 和 data.sql 填充 H2 数据库

我设置了 Spring-boot 来使用 H2 内存数据库 application.properties 文件位于 /config 目录中 看起来这个文件已被处理 spring.datasource.url=jdbc:h2:mem:mydb;

回答 2 投票 0

使用 LIKE 通配符从 H2 文本数组中选择

我有一个类型为 TEXT ARRAY 的 H2 列。 创建表 app.worklist ( id 整数, 专业文本数组 ); 我想查询是否有任何数组元素与 LIKE 参数匹配。 以下是...

回答 1 投票 0

Liquibase及功能指标

如果您在使用 Liquibase 时尝试执行脚本在 H2(面向 PostgreSQL 的上下文)上创建功能索引,则会出现可疑错误。 脚本本身如下所示: 如果您在使用 Liquibase 时尝试执行脚本以在 H2(面向 PostgreSQL 的上下文)上创建功能索引,则会出现可疑错误。 脚本本身如下所示: <changeSet id="2" author="..."> <createIndex tableName="test_table" indexName="test_table_id_idx"> <column name="(date_trunc('day', create_date))"/> </createIndex> </changeSet> 错误信息: Syntax error in SQL statement "CREATE INDEX TEST_TABLE_ID_IDX ON TEST_TABLE(([*]DATE_TRUNC('day', CREATE_DATE)))"; expected "identifier"; SQL statement: CREATE INDEX test_table_id_idx ON test_table((date_trunc('day', create_date))) [42001-200] GitHub 上的 PoC 说实话,我不知道这样一个奇怪的脚本补充是从哪里出现的(关于这个[*])。也许 H2 不明白你需要使用哪个字段并替换 Vilcard 或类似的东西。 是的,我知道 H2 和真实 PostgreSQL 的实现中可能存在冲突和差异(如果那样的话,PostgreSQL 脚本执行正确),但我想了解是什么导致了脚本的这种变化。 H2 的错误消息中的[*] 标记了发现语法错误的位置。 H2 不支持表达式索引,只能对列建立索引。 H2 支持计算列上的索引,因此可以使用函数添加计算列,为其建立索引,并在查询中使用此计算列而不是基列上的函数,在这种情况下可以使用此索引。但我认为如果你的主数据库系统是 PostgreSQL,那不是你的本意。如果您仅将 H2 用于某些测试,则从 H2 的变更集中删除此类不兼容索引的创建更为合理。 使用 计算:正确 databaseChangeLog: - changeSet: dbms: postgresql changes: - createIndex: tableName: test_table indexName: test_table_id_idx columns: - column: **computed: true** name: ((create_date)::date)

回答 2 投票 0

如何在 Play Framework 2.4 中使用相对于项目根目录的路径来进行 H2 数据库文件配置?

我们正在开发 Play 2.4 应用程序(Java API)。 出于开发目的,我们希望使用持久性 H2 数据库,其数据库文件路径相对于项目根目录。 在如何使用持久...

回答 3 投票 0

当columnType为json时,H2无法按预期工作

我使用H2进行集成测试,使用spring与kotlin,jpa + hibernate。 我的代码中的模型有一个带有 columnDefinition = "JSON" 的字符串字段,这会导致 H2 出现问题。 导入j...

回答 2 投票 0

使用 SQL 和内部加密数据库在 Java 应用程序中实现安全用户帐户同步的最佳方法?

我正在开发一个 Java 应用程序,该应用程序具有 Angular 前端和基于 Java 的后端,该后端将连接到 SQL 数据库以进行一般数据存储。此外,我计划包括一个内部加密......

回答 2 投票 0

Hibernate 6.5 中的自定义H2方言

我们正在将项目从 Spring Boot 2.7 升级到 3.3.5,其中包括升级到 Hibernate 6。在生产中,我们使用 PostgreSQL,在本地开发中,我们使用 H2。 我们的

回答 1 投票 0

无法生成 org.h2.jdbcx.JdbcConnectionPool 类的 CGLIB 子类

问题: 我正在执行一个依赖项迁移任务,试图将 Spring 代码库从 Spring 2.6.9 迁移到 Spring 2.7.0。但是,我面临一些与迁移 H2 相关的问题。 我读了

回答 1 投票 0

SqL 脚本插入未找到列

这是我的sql脚本: -- 为工具租赁项目创建内存数据库。 -- 预计将替换为实际数据库 -- -- 创建Schema以供使用 如果不存在则创建架构

回答 1 投票 0

H2升级到2.1.210无法创建1.4.192成功的表

CREATE TABLE "INFO" ("ID" BIGINT NOT NULL PRIMARY KEY AUTO_INCRMENT[*], "OWNER" VARCHAR(255) NOT NULL)"; 预期为“HASH、CONSTRAINT、COMMENT、UNIQUE、NOT、N...

回答 1 投票 0

无法使用Spring-Data-JPA将数据保存到表(H2数据库)

我使用H2数据库版本2.2.224和Spring-Data-JPA版本3.3.3。我在“USERS”和“ROLES”表之间有多对多关系。 当我尝试保存“Ent...

回答 1 投票 0

为什么没有h2就不能使用JPA

我刚开始学习Spring,有一些东西不太清楚。 我的 pom 是这样完成的: 我刚开始学习Spring,有一些东西不太清楚。 我的 pom 是这样完成的: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 当我启动应用程序时,抛出以下错误: 应用程序无法启动 描述: 配置数据源失败:未指定“url”属性,无法配置嵌入数据源。 原因:未能确定合适的驱动程序类别 行动: 考虑以下因素: 如果您想要嵌入式数据库(H2、HSQL 或 Derby),请将其放在类路径中。 如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(当前没有活动配置文件)。 如果我添加此依赖项: <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> 然后应用程序就可以运行了 我想了解 Jpa 是否需要 h2 才能工作,因为在许多示例中我看到通常不会添加此依赖项来使应用程序工作。 我检查了项目属性 --> Java 构建路径 --> 源(选项卡)--> 构建路径上的源文件夹 我注意到,在项目属性 --> Java 构建路径 --> 源(选项卡) --> 构建路径上的源文件夹中,在 src/main/resources 中,排除的项目标记为 **。 我删除了它,现在一切正常。 如果您使用 Spring starter 并且没有在 pom.xml 中指定任何特定数据库,那么 Spring Data 将为您配置默认的 H2(内存中)数据库。您不需要将 h2 工件放入 pom.xml 中。 但是在您的 pom.xml 中已经添加了 MySql 工件。在这种情况下,您必须告诉 Spring JPA 应该使用哪个数据库。例如,通过在 application.properties 中添加数据源详细信息。 如果您决定使用 MySQL,那么 pom.xml 中的工件将是: <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> application.properties 中的数据源定义为: spring.datasource.url=jdbc:mysql://localhost:3306/<some_db_name> spring.datasource.username=<some_username> spring.datasource.password=<some_password> spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 要让 Spring Data 在启动期间从实体类创建/更新数据库,请使用以下属性: spring.jpa.generate-ddl=true spring.jpa.hibernate.ddl-auto=update 如果您想从 DDL 脚本创建数据库并从脚本文件插入一些数据 - 请使用以下属性: spring.jpa.hibernate.ddl-auto=none spring.sql.init.mode=always Spring 将使用位于类路径(默认)上的默认脚本 schema.sql 和 data.sql。更详细的 Spring 文档:https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.data-initialization.using-basic-sql-scripts

回答 2 投票 0

保存 Arena 数据时出现 Hibernate 异常(不存在具有给定标识符的行)

这是我第一次将 Hibernate ORM 集成到我的项目中,并且在尝试调试 org.hibernate.UnresolvableObjectException: No row with the给定标识符存在时遇到了一些麻烦

回答 1 投票 0

H2数据库:在CTE内使用窗口函数时出错

使用H2数据库(版本1.4.200)我在CTE内使用窗口函数时遇到了非常奇怪的错误。当我将窗口函数字段包含到 CTE 中并且 OVER() 子句为空时,它可以工作

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.