dbexception.java,mysql – org.h2.jdbc.JdbcSQLException:找不到列“ID”
我的代码中有以下DDL:
CREATE TABLE IF NOT EXISTS SOMETABLE (
id BIGINT AUTO_INCREMENT NOT NULL,
...
FOREIGN KEY (id) REFERENCES OTHERTABLE(id)
...
);
这是OTHERTABLE的定义:
create table "OTHERTABLE" (
"id" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,
"code" VARCHAR NOT NULL,
"name" VARCHAR NOT NULL,
"enabled" BOOLEAN NOT NULL,
"app_id" VARCHAR NOT NULL);
请注意,OTIERTABLE由SLICK(Scala ORM Stack)自动生成!
这适用于MySQL(这是我们的dev / prod数据库),但是,我们的单元测试使用H2数据库,执行它会给出以下堆栈跟踪:
org.h2.jdbc.JdbcSQLException: Column "ID" not found
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
at org.h2.message.DbException.get(DbException.java:146)
at org.h2.table.Table.getColumn(Table.java:613)
at org.h2.table.IndexColumn.mapColumns(IndexColumn.java:75)
at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:203)
at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:70)
at org.h2.command.ddl.CreateTable.update(CreateTable.java:169)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:235)
有一种方法可以解决这个问题,那就是在所有地方将id改为“id”,但这会改变MySQL中的错误!
由于MySQL是我们的prod数据库,我别无选择,只能忽略单元测试!
在H2数据库方面有解决方案吗?
谢谢
dbexception.java,mysql – org.h2.jdbc.JdbcSQLException:找不到列“ID”相关推荐
- 【Java+MySQL】使用JDBC连接MySQL 8.0数据库
一.Java MySQL 8.0连接驱动包 下载链接:https://pan.baidu.com/s/1YFOImz0dCHtzIajSFq9xgg?pwd=boul 提取码:boul [IDEA]导 ...
- 【Java MySQL】 009 JDBC
JDBC SUN 公司为了简化开发人员的(对数据库的统一)操作,提供了一个(Java 操作数据库的)规范,俗称 JDBC 这些规范的实现由具体的厂商去做 对于开发人员来说,我们只需要掌握JDBC接口的 ...
- Java嵌入式数据库H2学习总结(二)——在Web应用程序中使用H2数据库
一.搭建测试环境和项目 1.1.搭建JavaWeb测试项目 创建一个[H2DBTest]JavaWeb项目,找到H2数据库的jar文件,如下图所示: H2数据库就一个jar文件,这个Jar文件里面包含 ...
- Java数据库开发与应用之MySQL数据库、JDBC操作数据库、C3P0数据库连接池,Java反射等
MySQL数据库,JDBC接口,MyBatis框架等,掌握的数据的存放和管理. Java数据库开发基础,介绍MySQL数据库.JDBC操作数据库.C3P0数据库连接池,Java反射等内容,进行油画商城 ...
- java mysql教程基于_java基于jdbc连接mysql数据库功能实例详解
本文实例讲述了java基于jdbc连接mysql数据库的方法.分享给大家供大家参考,具体如下: 一.JDBC简介 Java 数据库连接,(Java Database Connectivity,简称JD ...
- 【MySQL 数据库】JDBC 编程之 Java 连接 MySQL
文章目录 1. 数据库编程的基础条件 2. Java 的数据库编程:JDBC 3. JDBC 访问数据库的层次结构 4. MySQL 数据库操作介绍 5. MySQL 驱动包的下载及添加到项目 6. ...
- 基于javaweb的慢病报销管理信息系统(java+mysql+jdbc+servlet+jsp)
基于javaweb的慢病报销管理信息系统(java+mysql+jdbc+servlet+jsp) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...
- 基于javaweb+jsp的生病慢病报销管理信息系统(java+MySQL+Jdbc+Servlet+Jsp)
基于javaweb+jsp的生病慢病报销管理信息系统(java+MySQL+Jdbc+Servlet+Jsp) 一.项目简述 功能: 慢病管理,医疗机构管理,家庭管理,费用交纳,费用报销,报表统计等等 ...
- JDBC之 java - mysql 各个版本 jar包 驱动
方法一 JDBC之 java - mysql 各个版本 jar包 驱动 : http://central.maven.org/maven2/mysql/mysql-connector-java/ 例如 ...
最新文章
- 开发自己的山寨Android注解框架
- ffmpeg rtsp转 rtmp
- Mysql和mono,.net – Mac OS X Mono和MySql连接器问题
- pdf to word android,Scanned PDF to Word
- 分布式链路追踪 之 Skywalking 设计理念核心原理
- Vector Packet Processor(VPP) - 层二层三转发图谱
- 【漫画】AI小猪的一生---阿里云ET农业大脑如何与特驱集团养出“200公里猪”
- BZOJ 1041 数学
- 百度又做电商;ofo 退出日本;Kotlin 1.3 正式发布 | 极客头条
- 百度李彦宏谈Google回归:真刀真枪地再PK一次,再赢一次
- 一个U盘走天下,装机大神撩妹的不二之选
- python卸载_手把手教Python环境安装
- 伊洛纳登录显示服务器连接中,伊洛纳萌新入坑常见问题汇总
- Ubuntu20装Nvidia驱动--中文显示乱码问题
- 嵌入式软件工程师经典面试题
- UVC系列3-研究UVC控制协议
- 【系统分析师】操作系统
- minio实现大文件分片上传+断点续传+预览
- VScode受难记 - 0
- 赛宁网安“网络安全卓越中心”:立足科技创新 推动网安产业高质量发展
热门文章
- pure-ftp 修改用户信息
- Visual Studio Developer Assistant 3月新功能展示
- MYSQL5.7---ONLY_FULL_GROUP_BY 异常处理
- Appium UiWatchers 监听解决各种非期待弹窗,弹层,弹弹弹等问题
- VS2010团队开发调试器无法继续运行该进程,项目文件“”已被重命名或已不再解决方案中
- 通过js跳转url下载包含中文的文件乱码问题解决方案(java)
- 【白皮书分享】2021汽车产业数字化转型白皮书-腾讯研究院.pdf(附下载链接)...
- The Turn Model for Adaptive Routing中的west-first算法
- 全球首发!惯性导航导论(剑桥大学)第六部分
- prompt 你到底行不行?