новичок в Spring и здесь @stackoverflow
Я создаю автономное приложение для отслеживания инвентаризации и продаж (Apache Pivot / Spring / JPA / Hibernate / MySQL) для дистрибьюторского бизнеса.
Пока я думаю, что все в CRUD, поэтому я планирую создать базовый класс со всем, что связано с @Transactional.
Затем у меня возникла проблема с моим универсальным методом сохранения. Есть ли разница в методе сохранения и слияния EntityManager из Spring?
Я попытался запустить и вызвал сохранение как для вставки, так и для обновления, и все сработало нормально (я думаю, что Spring автоматически обновляет объект каждый раз, когда я вызываю свой метод сохранения, // видел, что запросы спящего режима регистрируются, это правильно?).
@Transactional
public abstract class GenericDAO {
protected EntityManager em;
// em getter+@PersistenceContext/setter
public void save(T t) {
// if (t.getId() == null) // create new
// {
// em.persist(t);
// } else // update
// {
em.merge(t);
// }
}
}
И, кстати, при такой настройке я не сильно скомпрометирую производительность, верно? Как вызов salesDAO.findAll () для создания отчетов (который не обязательно должен быть транзакционным, верно?).
Благодарность!!!