Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Spring Boot H2数据库没有';t自动复位。Can';找不到现有数据。液化问题_Spring Boot_H2_Liquibase_Jdbctemplate - Fatal编程技术网

Spring boot Spring Boot H2数据库没有';t自动复位。Can';找不到现有数据。液化问题

Spring boot Spring Boot H2数据库没有';t自动复位。Can';找不到现有数据。液化问题,spring-boot,h2,liquibase,jdbctemplate,Spring Boot,H2,Liquibase,Jdbctemplate,我有以下设置: 弹簧靴 嵌入式H2数据库 液化纸条以创建数据 首先,每次重新启动应用程序时,我都想从头开始。 我希望liquibase每次都从脚本中重新创建H2表。现在它没有,只是保留了现有的数据。如果我从h2控制台手动删除数据,除非我更新变更集id-s,否则它不会重新创建这些数据 即使在那时,现在,我有一个名为User的现有表,其中包含数据。我可以从h2控制台看到它。但突然间,当我使用JdbcTemplate查询时,它找不到任何结果,我无法再登录(它会得到一个空结果) 编辑: 我通过向User

我有以下设置:

  • 弹簧靴
  • 嵌入式H2数据库
  • 液化纸条以创建数据
  • 首先,每次重新启动应用程序时,我都想从头开始。 我希望liquibase每次都从脚本中重新创建H2表。现在它没有,只是保留了现有的数据。如果我从h2控制台手动删除数据,除非我更新变更集id-s,否则它不会重新创建这些数据

    即使在那时,现在,我有一个名为User的现有表,其中包含数据。我可以从h2控制台看到它。但突然间,当我使用JdbcTemplate查询时,它找不到任何结果,我无法再登录(它会得到一个空结果)

    编辑:

    我通过向User.java对象添加setter来修复数据查询。这就解决了问题(我希望我可以不用它们,但似乎不行)


    但是我仍然希望我的liquibase创建的表每次都会重置,这样我就可以更改查询而不会出现错误。

    在每次启动时获取新数据库的一个非常简单的方法是使用内存数据库而不是文件

    替换
    spring.datasource.url=jdbc:h2:~/company;MV_STORE=false
    通过
    spring.datasource.url=jdbc:h2:mem:company;MV_STORE=false

    在application.properties中,每次启动时获取新数据库的一种非常简单的方法是使用内存中的数据库而不是文件

    替换
    spring.datasource.url=jdbc:h2:~/company;MV_STORE=false
    通过
    spring.datasource.url=jdbc:h2:mem:company;MV_STORE=false

    在您的应用程序中。属性

    谢谢!我知道我遗漏了一些东西,因为我认为默认情况下它应该是不持久的。下面的内容实际上与这个问题没有任何关系,但我想知道——这种基本设置可以吗?登录和身份验证部分?我以前从来没有这样做过。谢谢!我知道我遗漏了一些东西,因为我认为默认情况下它应该是不持久的。下面的内容实际上与这个问题没有任何关系,但我想知道——这种基本设置可以吗?登录和身份验证部分?我以前从来没有这样做过。