#java #mysql #spring #spring-boot #spring-data-jpa
#java #mysql #spring #весенняя загрузка #spring-data-jpa
Вопрос:
Наличие двух проектов
-
my-app
-
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