Таблицы не созданы, с использованием объектов из зависимости maven jar в нескольких приложениях при загрузке Spring

#java #mysql #spring #spring-boot #spring-data-jpa

#java #mysql #spring #весенняя загрузка #spring-data-jpa

Вопрос:

Наличие двух проектов

  1. my-app

  2. my-entities

У меня есть мои объекты в my-entities, и я загружаю этот репозиторий в bitbucket для хостинга, затем использую тот же репозиторий в моем проекте «my-app», который является приложением spring boot и содержит конфигурации базы данных, такие как имя пользователя, dbname, пароль, и я использую spring data jpa с

 spring.jpa.hibernate.ddl-auto=update
  

Пример класса Entity, присутствующий в my-enties

 @Entity
public class OrganisationDetails {

    @Id
    @GeneratedValue
    private Long id;


    private String name;

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "OrganisationDetails{"  
                "id="   id  
                ", name='"   name   '''  
                '}';
    }
}
  

Но таблицы не создаются автоматически.

Ответ №1:

spring.jpa.hibernate.ddl-auto=update — используется для обновления текущей схемы

spring.jpa.hibernate.ddl-auto=create — используется для создания новой схемы

Обычно на этапах разработки используется комбинация — create-drop

 spring.jpa.hibernate.ddl-auto=create-drop
  

Вы можете прочитать больше о том, как инициализировать базу данных с помощью spring-boot и JPA здесь.

Еще одна важная вещь — указать свой диалект SQL. Например, для MySQL5

 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect