【发布时间】:2012-09-07 22:02:12
【问题描述】:
我打算将 H2 用作我的单元测试的内存数据库。我通过 Spring 将所有东西连接在一起。一切似乎工作正常。数据库加载完毕,ddl sql 文件运行,dml sql 也运行(或者看起来如此)。
我可以运行一个在数据库中创建记录的测试,然后检索并验证它是否被适当地持久化。所以这告诉我 ddl 脚本运行良好。
问题是当我尝试接收通过 dml 脚本插入的记录时,我什么也得不到。
我尝试将相同的插入语句放入文件中两次,确实收到了一个唯一约束错误,这告诉我它们正在运行...但由于某种原因没有持久化。
DDL:
DROP TABLE IF EXISTS `schema`.`region` ;CREATE TABLE IF NOT EXISTS `schema`.`region` (
`region_id` INT(11) NOT NULL ,
`name` VARCHAR(56) NOT NULL ,
`description` VARCHAR(512) NULL DEFAULT NULL ,
PRIMARY KEY (`region_id`) );
DML:
INSERT INTO `schema`.`region` (`region_id`, `name`, `description`) VALUES (1001, 'TEST', 'TESTING');
网址:
jdbc:h2:file:db_test;MODE=MYSQL;INIT=create schema if not exists test_db\\;runscript from 'classpath:test_ddl.sql'\\;runscript from 'classpath:test_dml.sql'
任何帮助都会有所帮助。
谢谢
【问题讨论】:
-
我也有同样的问题,你解决了吗?
标签: database insert h2 persist