エンティティを削除しようとしていますが、制約のために削除できない場合は、論理的な削除のマークを付けたいと考えています。
これは私のコードです:
@Transactional
public void removeEntity(EntityDto e) {
Entity entity = entityRepository.findOne(e.getId());
try {
entityRepository.delete(e.getId());
entityRepository.flush();
} catch (DataIntegrityViolationException ex) {
logger.debug("Logical removal");
entity.setLogicalRemovalDate(new Date());
entityRepository.save(entity);
}
}
save() メソッドを呼び出した後、次の例外が発生します。
org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.ObjectDeletedException: deleted instance passed to merge
この機能を実装する方法はありますか?
ありがとう。