Unique = true (original) (raw)
7 comments — :
- ←
- 1
- →
Вопрос не совсем понятен.
Объект же может быть в detached state (когда его изменения на БД не влияют)
Соответственно если вопрос только про attached state - то оно само так будет если правильно переопределить equals и hashcode и написать маппинг;
если про детачед стейт - нет. самое близкое что можно придумать - держать entityManager в хорошо-известном месте и переопределить сеттер так, что если поле меняется, то если в окружении есть entityManager, то сказть merge (ну и естественно тоже переопределить equals и hashcode). Но скорее всего оно не надо на самом деле
Процитирую свой же ответ (=
Мне надо обновлять информацию в базе несколько раз в сутки, и хотелось бы, чтобы сущности с одинаковыми, например, именами, автоматически заменялись (вся старая информация даже может временно остаться валяться бесхозной и ни к чему не привязанной). При этом переопределять equals я конечно же не хочу.
На уровне базы можно: делать update where поле = значение, если 0 столбцов, тогда insert.
На уровне jpa - понятия не имею.
Я думаю было бы неплохо уточнить вопрос конкретным случаем.
Мне надо обновлять информацию в базе несколько раз в сутки, и хотелось бы, чтобы сущности с одинаковыми, например, именами, автоматически заменялись (вся старая информация даже может временно остаться валяться бесхозной и ни к чему не привязанной). При этом переопределять equals я конечно же не хочу.
А при чём тут JPA?
Ну хотите вы обновлять данные по каким то признакам,
выбирайте их из базы, обновляйте и сохраняйте.