Добрый день Есть сущность Example с полями: id, name, type, values..
Требуется найти строчку по ключу name, type и обновить значения values. Если такой строчки не обнаружено, то вставить новую. Констрейн (name, type) присутствует. Многопоточность.
Я могу организовать обновление/ добавление строки отдельными транзакциями, с блокировкой записи и т.д., но может в hibernate это уже реализовано( к примеру, merge)?
Да в JPA и HIBERNATE есть метод merge, в который передается неперсистный entity. Метод обращается в БД для поиска данного объекта. Если объект в БД уже есть, то метод возвращает персистный entity, который учитывает состяние в БД и новое (которое было передано в метод). Если объекта в БД нет, то метод возвращает новый персистный entity на основе состояния, которое было передано в метод. В этом смысле проблема автоматизации решена. Однако проблема синхронизации на уровне транзакций не решена. Например, в первой транзакции метод покажет, что объекта еще нет, но транзакцию применит через час, а тем временем вторая сессия добавит объект в БД. Возможно, использование кэша второго уровня позволит решить вопрос синхронизации двух сессий.
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть дата в timestamp форматеКаким образом можно проверить равна ли она текущей дате без учета времени? Например 1502010000 она равна 6
Есть Stream<String>, как разбить его на несколько Stream или List, относительно тех строк, которые начинаются с определенного слова (аналогично split("word")...
В чем разница в поведении в случаях если я устанавливаю hibernateconnection
Например: в первом списке мы выбираем страну, появляется новый (ниже первого), там выбираем город, появляется новый и тд пока не дойдем до конечного...