Hibernate не создает выделенные таблицы в h2 для классов, помеченных @Entity - PullRequest
0 голосов
/ 30 мая 2018

Итак, у меня есть класс, помеченный сущностью, и когда я запускаю загрузочное приложение Spring, я ожидаю, что Hibernate создаст Table в h2, но ничего не вижу h2 Свойства приложения Spring получили только spring.h2.console.enabled = true

мой класс выглядит как

@Entity

открытый класс Автор {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

private String firstName;
private String lastName;


private Set<Book> books = new HashSet<>();

public Author() {
}

, пожалуйста, Halp

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

У меня была такая же ошибка из-за простой глупой ошибки.Я скучаю по написанному имени пакета, который был включен в hibernate. Вы можете проверить его правильно.

0 голосов
/ 30 мая 2018

JPA имеет функции для генерации DDL, и их можно настроить для запуска при запуске с базой данных.Это контролируется двумя внешними свойствами:

spring.jpa.generate-ddl (логическое значение) включает и выключает функцию и не зависит от поставщика.spring.jpa.hibernate.ddl-auto (enum) - это функция Hibernate, которая управляет поведением более детально.

Ваш файл свойств должен выглядеть примерно так:

spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...