草庐IT

H2Database

全部标签

java - 如何使用 Hibernate 将 java.time.LocalDateTime 映射到 H2 数据库中的 TIMESTAMP?

我有一个基于Java8构建的项目。我有一个实体和java.time.LocalDateTimecreationDate属性。在数据库中,该列是TIMESTAMP以与Oracle保持一致。不幸的是,默认情况下H2数据库将LocalDateTime视为BINARY值。当查询被触发时,应用程序失败并在LocalDateTime属性和TIMESTAMP列之间进行转换。如何强制H2将LocalDateTime转换为TIMESTAMP列而不是BINARY?编辑:看起来这不是H2问题,而是来自Hibernate(v.5.0.12)。即使在这里:https://www.thoughts-on-java

java - Apache Derby - java.sql.SQLException : Failed to start database

首先,这是我第一次使用ApacheDerby。我正在使用netbeans,愿意使用嵌入式apachederby,并且我按照以下教程配置和安装数据库。然后,我使用项目属性将derby.jar文件附加到我的项目。http://netbeans.org/kb/docs/ide/java-db.html#starting所附图片将显示我在netbeans中的数据库状态我的数据库名称是“联系人”。表名为“FRIENDS”。以下是我的测试代码**DatabaseConnector.java**importjava.sql.*;publicclassDataBaseConnector{private

java - H2 数据库 : referring to a table in root schema from a foreign key constraint

给定根架构中的表:CREATETABLEuser(usernameVARCHAR(50),passwordVARCHAR(50));和Quiz模式中的表:CREATETABLEQuiz.Results(usernameVARCHAR(50),pointsINT,FOREIGNKEY(username)REFERENCESuser(username));我无法实际创建外键,因为数据库声称表user实际上并不存在。我也不能随后添加外键:ALTERTABLEQUIZ.RESULTSADDFOREIGNKEY(username)REFERENCESuser(username)当然,这两个表都存

java - 在 h2 中重置自动增量

我正在测试一个返回json响应的Controller,但是测试第一次失败,因为h2数据库没有重置自动递增ID。使用夹具或手动创建对象有同样的问题。@BeforepublicvoidsetUp(){Fixtures.deleteAllModels();Fixtures.loadModels("data.yaml");}如何解决这个问题? 最佳答案 启动您的play应用程序,使用此url启动浏览器(如果您在本地运行play应用程序):http://localhost:9000/@db输入您的h2数据库,然后键入以下命令并运行:ALTER

java - hibernate h2 可嵌入列表预期为 "identifier"

我正在尝试在我的员工实体中关联一个函数列表(可嵌入),而H2似乎对这种期望“标识符”的说法不满意Causedby:org.h2.jdbc.JdbcSQLException:SyntaxerrorinSQLstatement"CREATETABLEEMPLOYEE_FUNCTIONS(EMPLOYEE_EMPLOYEEIDVARCHAR(255)NOTNULL,ACTIVEBOOLEANNOTNULL,DEPARTMENTNUMBERINTEGERNOTNULL,DESCRIPTIONVARCHAR(255),ORDER[*]INTEGERNOTNULL)";expected"ident

java - org.h2.jdbc.JdbcSQL异常 : Schema "MYAPP" not found; SQL statement

我正在尝试将H2数据库与sprintjunit测试一起使用,如下所示:1-SpringTestingConfig:@Configuration@ComponentScan(basePackages="com.myapp.data",excludeFilters={@Filter(Configuration.class)})@PropertySource("classpath:/test.properties")@Profile("test")publicclassSpringTestingConfig{@BeanpublicDataSourcedataSource(){DriverMa

Java:Hibernate 看不到 DataBase 的变化

我有两个共享同一个数据库的不同应用程序。问题是当我有一个应用程序更改数据库中的某些内容时,另一个应用程序不会更新。我尝试制作一个session.flush()但它没有用。唯一的方法是关闭整个session并重新创建它,但这当然需要很长时间。 最佳答案 简答:每次你想显示某个对象时发出一个session.refresh(obj)。它将强制Hibernate转到数据库。另一种解决方案是使用StatelessSession,它不会缓存任何内容(甚至一级缓存也不缓存),每次需要记录时都会强制您的应用程序访问数据库:http://docs.j

java - 如何使用 TestNg 对 Hibernate、H2 进行测试?

什么是测试DAO层的正确方法?我在创建和销毁SessionFactory时使用了@BeforeMethod和@AfterMethod注释方法,但它不适用于多个测试。如果测试一个接一个地运行,但当它们一起运行时没有使用maven构建,所以我决定我应该使用TestNg组对它们进行分组并执行@BeforeGroup和@AfterGroup方法,其中我对Hibernate做了同样的事情。所以我做了这样的事情:@Test(groups={"integration"})publicclassIntegrationTest{protectedSessionFactorysessionFactory;

【参赛作品93】openGauss-An Autonomous Database【PVLDB论文阅读分享】

作者:YAN左使本文基于openGauss在VLDB2021上最新发表的论文《openGauss:AnAutonomousDatabaseSystem》,从学术的角度来探究openGauss如何基于各种AI技术构建一个智能的自治数据库系统。论文作者是清华大学李国良教授,他同时也是openGauss的总架构师。本文主要是对论文的阅读笔记和个人见解,如有错误,欢迎各位指正!1.摘要虽然近年来基于学习的数据库优化技术在学术界得到了广泛的研究,但很多技术还没有被广泛部署到商业数据库系统中。这篇论文的作者探讨如何将基于AI的数据库技术整合到openGauss中,从而构建一个自治数据库系统架构。这些基于A

java - 向外部 H2 数据库添加聚合函数

我正在尝试使用Java在我的H2数据库中创建一个聚合函数。该函数应从给定的Double列返回自定义中值计算。此计算包括仅使用足够接近使用max_varianceint值的平均值的值。为此,我创建了类:packagecustommedian;publicclassCustomMedianimplementsorg.h2.api.AggregateFunction{finalintmax_variance=7;java.util.LinkedListvalues=newjava.util.LinkedList();@Overridepublicvoidinit(java.sql.Conne