2012-02-02 4 views
0

У меня есть отношение OneToMany от A до B (A указывает список Bs).JPA все еще находит объекты после их удаления

Когда я удаляю B, используя либо entityManager.remove(b), либо a.getBs().remove(b) или оба, и загрузите A еще раз: удаленный B все равно появится в списке, THOUGH он был удален из базы данных! Я пробовал с Cascade.ALL по отношению без успеха.

Спасибо за помощь.

+0

Не могли бы вы показать нам свое сопоставление (аннотации). –

ответ

1

Вам необходимо сделать оба (за исключением случаев, когда вы удаляете сирот). Если вы сделаете оба, это должно исчезнуть. Убедитесь, что вы удалили его из правильного управляемого a, а не отсоединенного a. Убедитесь, что a фактически содержит b для начала.

Вы всегда можете вызвать refresh(), чтобы подтвердить правильность состояния базы данных.

+0

Спасибо, я выбрал решение «удалить сирот», он работает красиво. – kgautron

 Смежные вопросы

  • Нет связанных вопросов^_^