Недавно я наткнулся на следующий фрагмент кода:
@Transactional
public MyEntity insert(MyEntity entity) {
MyEntity merged = entityManager.merge(entity);
return myEntityRepository.save(merged);
}
где менеджер сущности определяется следующим образом:
@PersistenceContext private EntityManager entityManager;
а репозиторий - репозиторий Spring QueryDSL:
@Repository
public interface MyEntityRepository extends QueryDslRepository<MyEntity>{
}
Мой вопрос: действительно ли необходимо вызывать entityManager.merge(entity)
, когда мы сохраняем сущность, используя myEntityRepository
сразу после? Есть ли что-то, что делает entityManager, чего не может репозиторий? Разве вызова репозитория не должно быть достаточно?