![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| polosatij |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
при вызове delete приложение падает на
ошибка:
описание траблы: каскадное удаление. попробовал поиграться с @OnDelete и @Cascade(value = { CascadeType.ALL }), @Cascade(value = { CascadeType.DELETE }) в гоогле уже 1.5 часа рыскаю, везде только вопрос на ответ, нигде ответа не могу найти |
||||
|
|||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
в общем, пошёл таким путём.. достаю объект, говорю ему, коллекция твоя null и update её сначала в бд, потом делаю delete на объекте..
всё, чики пики тока как-то это грязно и мне не очень нравится Это сообщение отредактировал(а) polosatij - 22.1.2009, 16:38 |
|||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
JPA-EntityManager, standalone приложение, MySQL 5.x: указанная конструкция работает как надо и при удалении в том числе. М.б. не в этом дело? А вообще мало инфы
|
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
EJB3, JBoss, Postgresql.. а чёрт.. я не кинул таблицы.. у меня foreign key с одной таблицы на другую.. завтра на работе смогу описать.. |
|||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Интересно как это всё работает.... org.hibernate.Session#delete() ?
Это то понятно. Полный стек-трэйс? Конфиги? Исходник класса сущности? show_sql включили? Есть запрос на удаление из связанной таблицы? Ну и всё таки, зачем вам Spring здесь нужен? |
|||
|
||||
| polosatij |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
а чёрт Exception конечно же кидает Spring, т.к. с помощью него написаны тесты и он чистит таблицы. а EJB3 он вызывает через Remote интерфейс
полный stacktrace не нужен, он говорит лишь о том, что exception был кинут из-за -> см. вверху.. ошибка:
см выше.. для тестов Spring я взял из за простоты конфигурации и настройки тестирующего прилoжения.. это всё Это сообщение отредактировал(а) polosatij - 22.1.2009, 16:29 |
||||
|
|||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Похоже в HQL удаление таким образом связанных сущностей не проходит. Похоже на баг. Однако всё нормально удаляется если использовать org.hibernate.Session#delete() и иже с ним. Кстати в org.springframework.orm.hibernate3.HibernateTemplate все аналогичные операции присутствуют и, наверно, нет смысла обёртывать это в HibernateCallback? Так удаление происходит несколькими командами, в которых сначала удаляются записи из связанных таблиц. Что же касается установки в базе FK constraint on delete cascade, то, по видимому, это делается только с помощью аннотации @OnDelete(action=OnDeleteAction.CASCADE), но к сожалению, не проходит валидация при экспорте схемы. Хотя с помощью hbm2ddl проходит, и нормально ключ создаётся.
PS: Hibernate-Version: 3.2.4.sp1 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |