Size: a a a

Java/Kotlin and more

2021 January 18

C

Cyclone in Java/Kotlin and more
Я тонко пытаюсь намекнуть, что сначала нужно создать джава класс через конструктор, а будет он бином или нет - это вопрос второй, и к единственному/множественным конструкторам напрямую не относится.
источник

D

Denis in Java/Kotlin and more
Есть какой-нибудь простой способ заблокировать редактирование строки в hibernate из RestController для разных юзеров? Типа если два юзера отправляют post-request, в контроллере вызывается редактирование строки с помощью hibernate, и тот, кто обратился позже, подождал, пока редактирование первого не завершится? как-то так
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Denis
Есть какой-нибудь простой способ заблокировать редактирование строки в hibernate из RestController для разных юзеров? Типа если два юзера отправляют post-request, в контроллере вызывается редактирование строки с помощью hibernate, и тот, кто обратился позже, подождал, пока редактирование первого не завершится? как-то так
Заблокировать строку до коммита. Другой запрос будет ждать пока лок не снимут
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Только вопрос, именно это ли надо
источник

D

Denis in Java/Kotlin and more
Alexandr Emelyanov
Заблокировать строку до коммита. Другой запрос будет ждать пока лок не снимут
т.е. в случае, если строка заблокирована, на этапе update row запрос, который пришел позже, будет ждать, пока редактирование разлочится, не выкинет эксепшн?
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Denis
т.е. в случае, если строка заблокирована, на этапе update row запрос, который пришел позже, будет ждать, пока редактирование разлочится, не выкинет эксепшн?
Да. Поищи в гугле
hibernate lock row
источник

D

Denis in Java/Kotlin and more
Alexandr Emelyanov
Да. Поищи в гугле
hibernate lock row
ок, спасибо
источник

D

Denis in Java/Kotlin and more
Alexandr Emelyanov
Да. Поищи в гугле
hibernate lock row
насколько я понял, достаточно PESSIMISTIC_WRITE. а после завершения работы одного юзера, нужно явно разблокировать строку, или гибернет сам это сделает?
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Denis
насколько я понял, достаточно PESSIMISTIC_WRITE. а после завершения работы одного юзера, нужно явно разблокировать строку, или гибернет сам это сделает?
Сам
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Лок идёт на время транзакции
источник

D

Denis in Java/Kotlin and more
Alexandr Emelyanov
Лок идёт на время транзакции
ок. спасибо. и еще один вопрос. session.getCurrentSession вернет одну и ту же сессию для одного юзера если вызывать в разных методах dao? ну, т.е. если я сначала вызову getItemById(int id) а потом updateItem(item) - это будет одна и та же сессия?
источник

V

Vlad in Java/Kotlin and more
Denis
ок. спасибо. и еще один вопрос. session.getCurrentSession вернет одну и ту же сессию для одного юзера если вызывать в разных методах dao? ну, т.е. если я сначала вызову getItemById(int id) а потом updateItem(item) - это будет одна и та же сессия?
Сессии надо открывать и закрывать,  ибо это ресурсоемкое дело.  Для изменения данных в бд лучше использовать транзакции.
источник

R

Responsibility in Java/Kotlin and more
Ребят, как правильней будет делать юнит тестирование на маппер у которого есть поля сервиса и этот сервис делает запросы в бд?
источник

R

Responsibility in Java/Kotlin and more
Буду очень признателен за пример(
источник

C

Cyclone in Java/Kotlin and more
Responsibility
Ребят, как правильней будет делать юнит тестирование на маппер у которого есть поля сервиса и этот сервис делает запросы в бд?
Не знаю, что такое "поля сервиса", но скорее всего тебе нужно мокировать сервис.
источник

R

Responsibility in Java/Kotlin and more
SomeService serviceField
источник

C

Cyclone in Java/Kotlin and more
Читай про mockito.
источник

R

Responsibility in Java/Kotlin and more
Cyclone
Не знаю, что такое "поля сервиса", но скорее всего тебе нужно мокировать сервис.
Этого будет достаточно? Он просто делает запрос в бд, результат которого мне нужен
источник

R

Responsibility in Java/Kotlin and more
эмм, ок
источник

C

Cyclone in Java/Kotlin and more
Responsibility
Этого будет достаточно? Он просто делает запрос в бд, результат которого мне нужен
Если ты в тесте собираешься в реальную БД залезать, то ты неправильно понимаешь юнит-тестирование.
источник