Size: a a a

Spring Framework and more

2019 April 10

A

Aaa4 in Spring Framework and more
Доброго вечера, вопрос есть по one-to-one в hibernate при использовании Spring boot.
Если мне нужно удалить только одну из связанных сущностей и я использую спринг бут (через CrudRepository) и гибернейт, то правильно ли будет сделать так:
1) взять из бд родительскую сущность
2) задать дочерней сущности в поле класса родительской null
3) сохранить родительскую в бд
4) удалить дочернюю сущность из бд
Нельзя это выполнить в 1 запрос? Мне кажется большое количество запросов к бд не есть хорошо, особенно для такой просто операции.
https://gist.github.com/aaa4/03c110a8cbb0b09f138887dd11385b97
https://gist.github.com/aaa4/31204815bd66507e034e98a69e3cd827
мейн
https://gist.github.com/aaa4/d7f2389a6a128bb5ff5987de081de84e
таблички в бд
https://1drv.ms/u/s!ApWD4mDo8toYgaM4mtYOywiveUsQtA
источник

D

Dima 🥶 in Spring Framework and more
Aaa4
Доброго вечера, вопрос есть по one-to-one в hibernate при использовании Spring boot.
Если мне нужно удалить только одну из связанных сущностей и я использую спринг бут (через CrudRepository) и гибернейт, то правильно ли будет сделать так:
1) взять из бд родительскую сущность
2) задать дочерней сущности в поле класса родительской null
3) сохранить родительскую в бд
4) удалить дочернюю сущность из бд
Нельзя это выполнить в 1 запрос? Мне кажется большое количество запросов к бд не есть хорошо, особенно для такой просто операции.
https://gist.github.com/aaa4/03c110a8cbb0b09f138887dd11385b97
https://gist.github.com/aaa4/31204815bd66507e034e98a69e3cd827
мейн
https://gist.github.com/aaa4/d7f2389a6a128bb5ff5987de081de84e
таблички в бд
https://1drv.ms/u/s!ApWD4mDo8toYgaM4mtYOywiveUsQtA
вам бы архитектуру поменять
убрать instructor_detail_id
и добавить instructor_id в instructor_detail
если такое возможно в вашем случае
источник

A

Aaa4 in Spring Framework and more
Dima 🥶
вам бы архитектуру поменять
убрать instructor_detail_id
и добавить instructor_id в instructor_detail
если такое возможно в вашем случае
Тогда просто сет id и все? А гибернейт такое переварит? А если я хочу удалить инструктора, то гибернейт брочи ошибку что там есть что то с ним связанное, или нет? У меня нет прямо сейчас возможности проверить это.
источник

A

Aaa4 in Spring Framework and more
Aaa4
Тогда просто сет id и все? А гибернейт такое переварит? А если я хочу удалить инструктора, то гибернейт брочи ошибку что там есть что то с ним связанное, или нет? У меня нет прямо сейчас возможности проверить это.
Бросит
источник

A

Aaa4 in Spring Framework and more
Dima 🥶
вам бы архитектуру поменять
убрать instructor_detail_id
и добавить instructor_id в instructor_detail
если такое возможно в вашем случае
Upd, аааа, это вы только про структуру бд говорите?
Там тогда логика удаления будет: удалить и все?
источник

D

Dima 🥶 in Spring Framework and more
да, только вам надо будет в каждом entity прописать связь
источник

D

Dima 🥶 in Spring Framework and more
ну и проверить чтобы при удалении detail - у вас instructor не удалялся, не помню точно как там с каскадностью надо настраивать
источник

A

Aaa4 in Spring Framework and more
Dima 🥶
ну и проверить чтобы при удалении detail - у вас instructor не удалялся, не помню точно как там с каскадностью надо настраивать
Спасибо за подсказку
источник

MC

Maksim Chesnokov in Spring Framework and more
нужно найти какие куки записывает сайт для того чтобы запомнить юзера, подскажите есть ли для этого какие нибудь программы?
источник

L

Loljeene in Spring Framework and more
Maksim Chesnokov
нужно найти какие куки записывает сайт для того чтобы запомнить юзера, подскажите есть ли для этого какие нибудь программы?
ctrl+shift+I
источник

A

Andrei in Spring Framework and more
Aaa4
Спасибо за подсказку
Напиши query  ,которая будет удалять relation твой
источник

A

Aaa4 in Spring Framework and more
Andrei
Напиши query  ,которая будет удалять relation твой
Я пока решением из коробки через круд репо пользуюсь, т. к. мне не очень понятно как использовать написанные мной запросы и круд репо. Без круд репо через обычный  jdbc я знаю как делать, а с ним ещё нет. Есть ссылка на гайд?
источник

A

Andrei in Spring Framework and more
Есть,  поищи в интернете.
@Query на метод ставишь
источник

A

Aaa4 in Spring Framework and more
Andrei
Есть,  поищи в интернете.
@Query на метод ставишь
Спс
источник

A

Aaa4 in Spring Framework and more
Andrei
Есть,  поищи в интернете.
@Query на метод ставишь
Я сейчас заглянул бегло в референс по спринг дата : они query ставят в классе который jparepository имплементит а не круд, там все то же самое как я понимаю, но расширенный функционал запросов?
источник

A

Andrei in Spring Framework and more
Посмотри кто родитель у круда
источник

A

Aaa4 in Spring Framework and more
Andrei
Посмотри кто родитель у круда
Repository, у jparepository он тоже в суперинтерыейсах записан, но меня в jpa Repository смущает flush: он закрывает все транзакции и сохраняет в бд? Или потом ещё save нужен?
источник

VB

Vlad Baimurzin in Spring Framework and more
Aaa4
Repository, у jparepository он тоже в суперинтерыейсах записан, но меня в jpa Repository смущает flush: он закрывает все транзакции и сохраняет в бд? Или потом ещё save нужен?
вроде как к транзакциям он никакого отношениям не имеет, что он делает это просто сразу выполняет sql. Т.е. не кэшируя и выполняя потом,а сразу, но транзакция может в этом время еще жить и отдельно ее коммитить\ролбэчить
и что значит закрывает все транзакции?
источник

D🍷

Dim 🍷 rub in in Spring Framework and more
твоё настоящее имя или трибьют Марату?
источник

ММ

Марат Мусин in Spring Framework and more
Моё настоящее имя Марат
источник