Код: Выделить всё
jakarta.persistence
Создание моей схемы БД (
Код: Выделить всё
hbm2ddl=create
Мне удалось решить проблему, изменив порядок полей в классе сущности.
Теперь я немного запутался.
- Разве Hibernate не должен определить правильный порядок DDL?
- Есть ли другой способ установить порядок отношений FK?
- У меня ужасное ощущение, что изменение порядка моих полей нарушит схему БД — в случае создания новой схемы.
Код: Выделить всё
@Entity
@Table(name = "sample")
class Sample() {
@Id
@GeneratedValue
@Column(columnDefinition = "char(36)", nullable = false)
open var serial: String = ""
// Moving it to here, will break the FK contraint
< — — — — — — — — — — — — — — — — — — — — —
|
@ManyToOne(cascade = [CascadeType.DETACH]) |
lateinit var a: A |
|
@ManyToOne |
lateinit var b: B |
|
@ManyToOne(cascade = [CascadeType.DETACH]) — — — |
lateinit var c: C
}
В производственной среде именно по этой причине мы указываем схему с помощью собственных операторов создания и обновления. Этот пример относится только к нашей тестовой настройке.
Подробнее здесь: https://stackoverflow.com/questions/787 ... r-in-jpa-e