|
|
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
вадяJulT, я начну опять флудить, эти лишние строки... твой выбор.... а пррсто делается через jdbc простым delete Действительно.. зачем вообще этот хибернейт сдался, когда есть jdbc? да? кстати, простым делетом ты строку с фк так же не удалишь. Упс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 12:36 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
andreykaTвадяJulT, я начну опять флудить, эти лишние строки... твой выбор.... а пррсто делается через jdbc простым delete Действительно.. зачем вообще этот хибернейт сдался, когда есть jdbc? да? кстати, простым делетом ты строку с фк так же не удалишь. Упс. а вот это ещё раз подтверждает что надо исходить от данных, их зависимостей, а уж потом использовать прокладки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 12:44 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
вадявот это и создаёт проблемы конечному юзеру пофигу коллекции записал. вадя против коллекций в Java. И сам их не использует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 13:01 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
вадяа вот это ещё раз подтверждает что надо исходить от данных, их зависимостей, а уж потом использовать прокладки. Это ещё раз подтверждает что надо предавать анафеме тех кто заикнется про JDBC. Ну, нет ничего простого и ничего хорошего в использовании этого API для бизнес-сущностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 13:03 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
andreykaTлибо включить каскадинг (и быть готовым к тому, что удалив одну сущность из базы пропадет еще 500) какскад включен. Если удалить клиента, то удалятся все его паспорта. Всё логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 13:04 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
если вернуться к первому посту ТС, то видно не понимание структуры того что требует/хочется... вот правильные скрипты для создания этих двух таблиц Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 13:51 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123andreykaTлибо включить каскадинг (и быть готовым к тому, что удалив одну сущность из базы пропадет еще 500) какскад включен. Если удалить клиента, то удалятся все его паспорта. Всё логично. логично с точки зрения каскадинга. Может я хочу хранить базу паспортов? Впрочем, это скорее вопрос того, что надо в конкретном случае. На SO вообще через одного рекомендуют отказаться от каскадинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 14:37 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 14:40 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
andreykaTМожет я хочу хранить базу паспортов? Впрочем, это скорее вопрос того, что надо в конкретном случае. Да. Я исходил из здравого смысла по умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 14:41 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, Тема про коллекции Java. Про скрипты и структуру БД было тут Hibernate запросы а я предупредил про флуд просто лишний раз предупредил о вредности прокладок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 14:44 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123andreykaTМожет я хочу хранить базу паспортов? Впрочем, это скорее вопрос того, что надо в конкретном случае. Да. Я исходил из здравого смысла по умолчанию. да ладно. Есть товар, есть события отгрузки этого товара. Их много. Ты удаляешь одно событие - удаляется весь товар? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 14:49 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
andreykaTPetro123пропущено... Да. Я исходил из здравого смысла по умолчанию. да ладно. Есть товар, есть события отгрузки этого товара. Их много. Ты удаляешь одно событие - удаляется весь товар? данное свойство должно быть прописано в тз. если заказчик не хочет - не заставишь. какими бы аргументами не крыл его хотелки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 14:55 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
andreykaT, ты первый раз какскад встретил? Он работает (устанавливается) только для чилдрен и один ко многим. К FK он НЕ ПРИМЕНЯЕТСЯ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 15:01 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
andreykaTНа SO вообще через одного рекомендуют отказаться от каскадинга. Ох уж эти максималисты. То убрать, это запретить... Каскад выкинуть, хибер сжечь, автоинкремент руками предать анафеме, кнопку назад в браузере запретить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 15:06 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123andreykaT, ты первый раз какскад встретил? Он работает (устанавливается) только для чилдрен и один ко многим. К FK он НЕ ПРИМЕНЯЕТСЯ. причем тут фк в контексте хибера и объектной модели? не. т.е. конечно же причем. Но это не главная суть. Суть в том, что если есть связь, то без каскадинга просто так объект не удалить. А если есть каскадинг то можно поудалять случайно вообще полбазы. Или всю целиком. Т.е. ты можешь сказать "а ты бездумно не использую каскадинг" и будешь прав. Но... Мое скромное мнение, что каскадинг это не главная фича хибера, и более того - вредная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 19:48 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
andreykaT, это неинтересно)) Есть опция: cascade = CascadeType.ALL хошь пиши, хошь не пиши. Твоё дело. Сабжу это монопесуально. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 20:16 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123JulT- не работает, вычитала где-то что нужно удалять через родительскую сущность, переписала следующим образом: у вас один ко многим. Т.е. много паспортов у клиентов. Логично, что удалять паспорт нужно у конкретного клиента. Т.е. это общий смысл действий. Т.е. мое решение правильное? Честно говоря столько всего понаписывали, что черт голову сломит)). Одни про каскад, хотя он есть(cascade = CascadeType.ALL - или это не оно?), другие про неправильную структуру таблиц, другие про jdbc.... А может кто-то просто взять и привести правильный по всем канонам пример, и в двух словах рассказать почему так, а не иначе?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 22:34 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJulT, Совершенно не обязательно вычитывать passport чтобы удалить. Достаточно пустого объекта с заполненным ID. Для того чтобы не трогать клиента достаточно настроить каскады. Даже метод save вызывать не обязательно. Вопросы. Что именно не работало при простом удалении? Приведённый код имеет смысл когда нужно разорвать Ассоциацию, а не удалить сущность. Ну, и как обычно. У вас была проблема, вы написали костыль и теперь спрашиваете про костыль, а не саму проблему. Passport passport = passportRepository.findOne(passportId); - вот при таком простом удалении строка в бд остается. Почему при таком подходе не удаляется сущность? Где костыль, ткните в строчку с костылем плиз). Покажите пример вашего onetomany и пример как вы удаляете(редактируете). Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 22:39 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
JulT Код: java 1. откуда взялся паспорт? - в веб транзакции короткие. От сессии отсоединять объекты крайне нежелательно. Т.е. у вас вверху при получении паспорта как раз должен быть их родитель)). Сделайте полный пример, после выхов кто нить проверит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2016, 23:31 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
JulT, посмотри на то как организованы связи в моём примере. у тебя совершенно наоборот. у тебя каскадное удаление прописано для клиента, а надо для паспорта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 06:28 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 06:59 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
вадяJulT, посмотри на то как организованы связи в моём примере. у тебя совершенно наоборот. у тебя каскадное удаление прописано для клиента, а надо для паспорта.Утверждение неверное. В хибере каскады описываются не так, как в базе, документация в помощь. JulT, что касается примера, то можно, в конце концов, использовать и hql Код: java 1. 2. 3. 4. При этом нет необходимости тянуть сущности из базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 12:23 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
авторJulT, что касается примера, то можно, в конце концов, использовать и hql session .createQuery("delete from Passport where id=:id") .setParameter("id", id) .executeUpdate(); При этом нет необходимости тянуть сущности из базы. и сам хибер не нужен :) jdbc выше крыши ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 12:48 |
|
||
|
Удаление из коллекции в Hibernate
|
|||
|---|---|---|---|
|
#18+
вадяи сам хибер не нужен :) jdbc выше крыши Наивное заблуждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 12:50 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39231767&tid=2124085]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
93ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 472ms |

| 0 / 0 |
