Как установить порядок ограничения внешнего ключа с помощью аннотации JPA? [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Как установить порядок ограничения внешнего ключа с помощью аннотации JPA? [закрыто]

Сообщение Anonymous »

Я использую JPA в приложении Spring-Boot с JPA (

Код: Выделить всё

jakarta.persistence
Аннотации).
Создание моей схемы БД (

Код: Выделить всё

hbm2ddl=create
) завершился с ошибкой:

⚡ Ограничение внешнего ключа сформировано неправильно Исключение

Мне удалось решить проблему, изменив порядок полей в классе сущности.
Теперь я немного запутался.
Как я могу указать внешний ключевой порядок ограничения с аннотацией JPA? Таким образом, генерация схемы больше не зависит от порядка полей в классе, который может измениться в любой момент в результате рефакторинга.
Пример объекта в Kotlin, который ломается при изменении порядка полей, выглядит так:

Код: Выделить всё

@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
}
Перемещение поля c вверх по нарушит ограничение внешнего ключа. Как я могу разрешить этот шаг, добавив дополнительную информацию для JPA?


Подробнее здесь: https://stackoverflow.com/questions/787 ... annotation

Вернуться в «JAVA»