новых весны и здесь @stackoverflowSpring @Transactional слияния и сохраняются вопросы
Я построение автономной инвентаризации & продаж отслеживания приложений (Apache Pivot/Spring/JPA/Hibernate/MySQL) для дистрибьютора бизнеса ,
До сих пор я думаю, что все это CRUD, поэтому я планирую иметь базовый класс со всем @Transactional.
Тогда у меня возникла проблема с моим общим универсальным методом. Есть ли способ сохранения и слияния EntityManager из Spring?
Я попытался запустить и вызвал сохранение как для вставки, так и для обновления, и он работал нормально (я думаю, что весна автоматически обновляет объект каждый раз, когда я вызываю метод сохранения // видел, что запросы на спящий режим регистрируются, правда?).
@Transactional
public abstract class GenericDAO {
protected EntityManager em;
// em [email protected]/setter
public void save(T t) {
// if (t.getId() == null) // create new
// {
// em.persist(t);
// } else // update
// {
em.merge(t);
// }
}
}
И btw, имея такую установку, я не буду сильно компрометировать производительность? Как вызывать salesDAO.findAll() для создания отчетов (что не обязательно должно быть транзакционным, верно?).
спасибо !!!
Я гость, это самый простой способ пойти. Итак, если у меня есть JpaDaoSupport, и я получаю от нее сущность, любые изменения будут автоматически совершены? Я думаю, у меня будет два варианта метода сохранения, который сохраняется и тот, который вызывает флеш. Есть какие-либо комментарии по этому поводу? – thirdy
Вы имеете в виду автоматический как в совершенном без сохранения или обновления? Если это так, я бы так не подумал, я всегда просто вызываю сохранение нового объекта или обновление существующего для сохранения. Мне никогда не нужно было вызывать метод flush, но мой доступ к БД довольно прост для любого заданного запроса. –
На данный момент мне придется отказаться от попыток Весны. Просто любопытно, как Граальс улучшает это? Мне не придется сталкиваться с такими проблемами, как в Grails? – thirdy