Spring H2数据库未创建或访问

Spring H2数据库未创建或访问,spring,hibernate,spring-boot,jpa,h2,Spring,Hibernate,Spring Boot,Jpa,H2,我的H2数据库(最新稳定版本)没有从我尝试过的不同方法加载或创建,让我在下面展示我迄今为止所做的工作: 我的域名: @Entity public class Categoria implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; private Str

我的H2数据库(最新稳定版本)没有从我尝试过的不同方法加载或创建,让我在下面展示我迄今为止所做的工作:

我的域名:

@Entity
public class Categoria implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
private String nome;

public Categoria() {

}
我的资源:

@RestController 
@RequestMapping(value="/categorias")
public class CategoriaResource {

@RequestMapping(method=RequestMethod.GET)
public List<Categoria> listar() {

    Categoria cat1 = new Categoria(1, "Informática");
    Categoria cat2 = new Categoria(2, "Escritório");

    List<Categoria> lista = new ArrayList<>();
    lista.add(cat1);
    lista.add(cat2);


    return lista;
}
当我试图打开localhost:8080并输入JDBC URL:JDBC:h2:file:~/h2/test时,弹出的错误是:

未找到数据库“C:/Users/XXX/h2/test”,如果exists=true,则 无法自动创建它[90146-199]90146/90146(帮助)

URL:jdbc:h2:file:~/test没有显示其中的任何数据库,它是empity

URL:jdbc:h2:test

数据库URL“jdbc:h2:test;IFEXISTS=TRUE”中不允许存在与当前工作目录隐式相关的文件路径。请改用绝对路径、~/name、./name或baseDir设置。[90011-199]90011/90011(帮助)

最后是URL:jdbc:h2:mem:test

未找到数据库“mem:test”,并且IFEXISTS=true,因此我们无法 自动创建它[90146-199]90146/90146(帮助)

我真的不知道该怎么办了,到目前为止我已经试过了。 即使从内存或本地访问,我也可以做些什么


提前感谢

如果使用hibernate,请尝试添加-spring.jpa.database platform=org.hibernate.dialen.h2dialent和spring.jpa.hibernate.ddl auto=create drop并尝试内存,而不是像这样的文件-spring.datasource.url=jdbc:h2:mem:test。尝试这些并分享结果。如果它起作用,则与您的文件路径等或权限有关。您好@AjayKumar我已使用您的建议成功连接,因此如何才能调整此文件路径或甚至我的权限,我已经是管理员用户。要给您一个提示-如果使用Eclipse等,请尝试以管理员身份运行Eclipse(看起来您正在使用Windows)。或者尝试提供用户桌面路径的路径。整个想法是,这张图片中的用户应该拥有对目录的完全访问权限。希望你现在明白了。那么,我可以为我的URL输入一个固定路径吗?像jdbc:h2:file:/C:/Users/XXX/test?因为我设法获得了用户文件夹的完全控制权限,所以现在我可以访问URL jdbc:h2:file:~/h2/test,这一个从现在起不会出现任何错误,但里面仍然没有工作表,它只是空的。奇怪的是,为什么我在给予每个权限之前在这个:jdbc:h2:mem:test中出现错误,如果我设法从固定路径访问数据库内容,对我来说就足够了。
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

spring.datasource.url=jdbc:h2:file:~/h2/test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

spring.jpa.hibernate.ddl-auto=update