Как установить порядок ограничения внешнего ключа с помощью аннотации 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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