Сообщение ORM Synchronization Entity in Java with Raw(DB object) in DB от 23.10.2023 11:36
Изменено 23.10.2023 11:38 Aleksei_Lekomtsev
Synchronization Entity in Java with Raw(DB object) in DB
Если в SQL выполнить
— то в рамках транзакции будут зафиксированы изменения после выполнения команды
А например, используя JpaReposity можно обновить так — получили event по id
Как происходит синхронизация Java объекта и сущности в БД(как ORM это обеспечивает и понимает что конкретно нужно изменить)?
Т.е. это обновление происходит в какой-то момент времени между вызовом set и commit методов? Или после вызова commit?
Возможно ли отменить изменения после вызова set метода? Т.е. сделать так, чтобы эти изменения в БД не попали?
Прочитал здесь — https://jakarta.ee/specifications/persistence/3.0/jakarta-persistence-spec-3.0.html#a1955
The state of persistent entities is synchronized to the database at transaction commit. ,
но не уверен что это то что нужно
UPDATE accounts SET balance = balance - 100.00 WHERE name = 'София';— то в рамках транзакции будут зафиксированы изменения после выполнения команды
А например, используя JpaReposity можно обновить так — получили event по id
public void update(Long eventId, String newDescription) {
Event event = eventRepository.findById(eventId).orElseThrow(
() -> {
throw new EntityNotFoundException(Event.class,
String.format("Entity with id=%d doesn't exist.", eventId));
});
event.setDescription(newDescription);
}Как происходит синхронизация Java объекта и сущности в БД(как ORM это обеспечивает и понимает что конкретно нужно изменить)?
Т.е. это обновление происходит в какой-то момент времени между вызовом set и commit методов? Или после вызова commit?
Возможно ли отменить изменения после вызова set метода? Т.е. сделать так, чтобы эти изменения в БД не попали?
Прочитал здесь — https://jakarta.ee/specifications/persistence/3.0/jakarta-persistence-spec-3.0.html#a1955
The state of persistent entities is synchronized to the database at transaction commit. ,
но не уверен что это то что нужно
ORM Synchronization Entity in Java with Raw(DB object) in DB
Если в SQL выполнить
— то в рамках транзакции будут зафиксированы изменения после выполнения команды
А например, используя JpaReposity можно обновить так — получили event по id
Как происходит синхронизация Java объекта и сущности в БД(как ORM это обеспечивает и понимает что конкретно нужно изменить)?
Т.е. это обновление происходит в какой-то момент времени между вызовом set и commit методов? Или после вызова commit?
Возможно ли отменить изменения после вызова set метода? Т.е. сделать так, чтобы эти изменения в БД не попали?
Прочитал здесь — https://jakarta.ee/specifications/persistence/3.0/jakarta-persistence-spec-3.0.html#a1955
The state of persistent entities is synchronized to the database at transaction commit. ,
но не уверен что это то что нужно
UPDATE accounts SET balance = balance - 100.00 WHERE name = 'София';— то в рамках транзакции будут зафиксированы изменения после выполнения команды
А например, используя JpaReposity можно обновить так — получили event по id
public void update(Long eventId, String newDescription) {
Event event = eventRepository.findById(eventId).orElseThrow(
() -> {
throw new EntityNotFoundException(Event.class,
String.format("Entity with id=%d doesn't exist.", eventId));
});
event.setDescription(newDescription);
}Как происходит синхронизация Java объекта и сущности в БД(как ORM это обеспечивает и понимает что конкретно нужно изменить)?
Т.е. это обновление происходит в какой-то момент времени между вызовом set и commit методов? Или после вызова commit?
Возможно ли отменить изменения после вызова set метода? Т.е. сделать так, чтобы эти изменения в БД не попали?
Прочитал здесь — https://jakarta.ee/specifications/persistence/3.0/jakarta-persistence-spec-3.0.html#a1955
The state of persistent entities is synchronized to the database at transaction commit. ,
но не уверен что это то что нужно