Проблема миграции - Kodo / OpenJPA в EclipseLink - PullRequest
1 голос
/ 29 апреля 2011

У меня есть настройка среды с Java EE (weblogic 10.0).Таким образом, Kodo / OpenJPA используется как реализация JPA.По некоторым причинам я хочу перейти на EclipseLink.Теперь у меня есть следующая проблема:

  1. Сущность A - ManyToMany - Сущность B
  2. FetchType.Lazy, Cascade {}
  3. JoinTable AxB
  4. ForeignKey Ограничение AxB.FK_COL -> A.PK

Если я хочу удалить объект A, запись в столбце объединения также должна быть удалена

Kodo / OpenJPA -> Удаление успешно, SQL Trace показывает, что сначала удаляются строки AxB

EclipseLink -> Удаление не выполнено, нарушение ограничения внешнего ключа.EL пытается удалить объект A первым.

Это все в одной транзакции (RESOURCE_LOCAL).Я думал, что если что-то находится внутри транзакции, ограничения внешнего ключа могут быть нарушены?Можно ли изменить порядок удалений таким образом, чтобы сначала удалялись строки объединяемой таблицы?

Я использую EclipseLink 1.1.4

Спасибо за помощь, Soccertrash

1 Ответ

1 голос
/ 02 мая 2011

Эта проблема была исправлена ​​в более поздних версиях EclipseLink.Попробуйте 2.0 или последнюю версию 2.3.

В противном случае сначала удалите целевой объект из коллекции и вызовите сброс.

...