java h2内存数据库错误:找不到表

java h2内存数据库错误:找不到表,第1张

概述我试过谷歌搜索,但几乎所有这类问题的解决方案是添加; DB_CLOSE_DELAY = -1,但它并没有为我解决任何问题.这是我的测试课@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {Main.class}) public class Testas {

我试过谷歌搜索,但几乎所有这类问题的解决方案是添加; DB_CLOSE_DELAY = -1,但它并没有为我解决任何问题.

这是我的测试课

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = {Main.class})public class Testas {    @autowired    @QualifIEr("managerImplementation")    private ClassifIErManager manager;    @Test    public voID testManager(){        ClassifIErGroupEntity cge = new ClassifIErGroupEntity();        manager.saveClassifIErGroup(cge);    }}

经理班

@Service("managerImplementation")public class ClassifIErManagerImpl implements ClassifIErManager{    @autowired    private ClassifIErGroupEntityRepository groupEntityRepository;    @autowired    private ClassifIErEntityRepository entityRepository;    @autowired     private ClassifIErValueEntityRepository valueEntityRepository;    @OverrIDe    public ClassifIErGroupEntity getClassifIErGroup(long ID) {        return groupEntityRepository.findOne(ID);    }    @OverrIDe    public ClassifIErGroupEntity getClassifIErGroup(String code) {        return groupEntityRepository.findByCode(code);    }    @OverrIDe    public ClassifIErGroupEntity saveClassifIErGroup(ClassifIErGroupEntity entity) {        return groupEntityRepository.save(entity);    }    @OverrIDe    public voID deleteClassifIErGroup(long ID) {        groupEntityRepository.delete(ID);    }    @OverrIDe    public ClassifIErEntity getClassifIEr(long ID) {        return entityRepository.findOne(ID);    }    @OverrIDe    public ClassifIErEntity getClassifIEr(String code) {        return entityRepository.findByCode(code);    }    @OverrIDe    public ClassifIErEntity saveClassifIEr(ClassifIErEntity entity) {        return entityRepository.save(entity);    }    @OverrIDe    public voID deleteClassifIEr(long ID) {        entityRepository.delete(ID);    }    @OverrIDe    public ClassifIErValueEntity getClassifIErValue(long ID) {        return valueEntityRepository.findOne(ID);    }    @OverrIDe    public ClassifIErValue getClassifIErValue(String classifIEdCode,String valueCode) {        return null;    }    @OverrIDe    public ClassifIErValueEntity saveClassifIErValue(ClassifIErValueEntity entity) {        return valueEntityRepository.save(entity);    }    @OverrIDe    public voID deleteClassifIErValue(long ID) {        valueEntityRepository.delete(ID);    }}

最后是属性文件

spring.datasource.driver-class-name=org.h2.Driverspring.datasource.user=saspring.datasource.password=spring.datasource.url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1

启动测试会让我失望

org.h2.jdbc.JdbcsqlException: table "CLASSIFIER_GROUP_ENTITY" not found; sql statement:insert into classifIEr_group_entity (ID,code,modifIEd_details,modifIEd_time,modifIEd_user_ID,order,revision,valID_details,valID_from,valID_till,parent_ID) values (null,?,?) [42102-191]

我不知道是否应该提供其他任何东西,如果我这样做,请告诉我.我提前感谢您的帮助.最佳答案经过半个小时后,我终于找到了解决方案,如果有人遇到类似的问题.

找不到表,因为在尝试创建表时开始时出错.并且错误是由于其中一个ClassifIErGroupEntity字段被命名为’order’,这是sql中的保留字之一,因此Spring生成的SQL语句在语法上是不正确的.

总结

以上是内存溢出为你收集整理的java h2内存数据库错误:找不到表全部内容,希望文章能够帮你解决java h2内存数据库错误:找不到表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1245648.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存