Spring Boot / JPA / H2 - таблица не найдена - PullRequest
0 голосов
/ 16 апреля 2020

Мое приложение использует встроенный H2 со следующей конфигурацией:

spring:
  profiles:
    active: dev
  datasource:
   # url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
    url: jdbc:h2:./db/app_db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;
    username: user
    password: pass
    initialization-mode: always
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: none
      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
    properties:
      hibernate:
        ddl-auto: none
        dialect: org.hibernate.dialect.H2Dialect

Доступ к базе данных осуществляется с использованием Spring Data в простейшей форме, то есть:

public interface AttributeRepository extends CrudRepository<Attribute, UUID> {

    List<Attribute> findByLabel(String label);
}

По некоторым причинам, при загрузке некоторые из запросов REST, по-видимому, завершаются с ошибкой JDB C:

org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ATTRIBUTE" not found; SQL statement:
select attribute0_.id as id1_0_0_, attribute0_.description as descript2_0_0_, attribute0_.label as label3_0_0_ from attribute attribute0_ where attribute0_.id=? [42102-200]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:453) ~[h2-1.4.200.jar!/:na]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) ~[h2-1.4.200.jar!/:na]
        at org.h2.message.DbException.get(DbException.java:205) ~[h2-1.4.200.jar!/:na]
        at org.h2.message.DbException.get(DbException.java:181) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.readTableOrView(Parser.java:7628) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.readTableFilter(Parser.java:1970) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parseSelectFromPart(Parser.java:2827) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parseSelect(Parser.java:2959) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parseQuerySub(Parser.java:2817) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parseSelectUnion(Parser.java:2649) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parseQuery(Parser.java:2620) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parsePrepared(Parser.java:868) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parse(Parser.java:843) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.parse(Parser.java:815) ~[h2-1.4.200.jar!/:na]
        at org.h2.command.Parser.prepareCommand(Parser.java:738) ~[h2-1.4.200.jar!/:na]
        at org.h2.engine.Session.prepareLocal(Session.java:657) ~[h2-1.4.200.jar!/:na]

Запросы кажутся ошибочными произвольно, поэтому, в то время как запрос кажется неудачным, следующий работает нормально Это означает, что база данных не повреждена и схема инициализирована правильно.

Есть предложения?

...