Я создаю простой проект Spring Boot с Hibernate JPA.Я создал некоторую модель данных, которая на данный момент состоит из 5 таблиц, и создал сущности, отражающие таблицы.Я установил spring.jpa.generate-ddl=true
, и мои объекты были правильно отражены схемой, созданной в PostgreSQL.
Следующим шагом было начало добавления отношений.
Часть моей предполагаемой модели данных (paron my UML)
Очень простая связь один ко многим.
Мои сущности выглядят так (геттеры и сеттеры опущены ниже, существуют в коде):
@Entity
public class AppUser {
@Id
@GeneratedValue
private long id;
private String name;
private String secondName;
private String email;
private java.util.Date joinDate;
@ManyToOne
@JoinColumn(name = "user_role_id")
private UserRole userRole;
}
@Entity
public class UserRole {
@Id
@GeneratedValue
private long id;
private String roleName;
}
Я запускаю свое приложение с spring.jpa.generate-ddl=true
, и столбец user_role_id
создается в таблице AppUser
, но приложение не удаетсядля запуска из-за ошибок:
2018-10-11 19:41:35.435 INFO 45564 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000228: Running hbm2ddl schema update
2018-10-11 19:41:35.466 WARN 45564 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42703
2018-10-11 19:41:35.466 ERROR 45564 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: column t1.tgconstrname does not exist
Есть полная трассировка стека (пожалуйста, сообщите, если нужно вставить ее здесь вместо pastebin: https://pastebin.com/x4qNJkK9
Когда я установил spring.jpa.generate-ddl=false
приложение запускается успешно.
Есть идеи, почему это происходит?