From 220bcc1e11352463531c100a03f025edaa47094c Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sat, 28 Jun 2008 17:07:20 +0000 Subject: [PATCH] Introduce transaction management git-svn-id: https://svn.argeo.org/slc/trunk@1313 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/hibernate/process/SlcExecutionDaoHibernate.java | 6 +++++- .../test/tree/TreeTestResultCollectionDaoHibernate.java | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/process/SlcExecutionDaoHibernate.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/process/SlcExecutionDaoHibernate.java index 0e21b3a9d..a6c387868 100644 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/process/SlcExecutionDaoHibernate.java +++ b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/process/SlcExecutionDaoHibernate.java @@ -20,10 +20,14 @@ public class SlcExecutionDaoHibernate extends HibernateDaoSupport implements getHibernateTemplate().save(slcExecution); } - public void update(SlcExecution slcExecution) { + public void update(final SlcExecution slcExecution) { getHibernateTemplate().update(slcExecution); } + public void merge(final SlcExecution slcExecution) { + getHibernateTemplate().merge(slcExecution); + } + public SlcExecution getSlcExecution(String uuid) { return (SlcExecution) getHibernateTemplate().get(SlcExecution.class, uuid); diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernate.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernate.java index 513a12123..667df6231 100644 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernate.java +++ b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernate.java @@ -11,6 +11,7 @@ import org.argeo.slc.core.test.tree.TreeTestResult; import org.argeo.slc.core.test.tree.TreeTestResultCollection; import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao; import org.hibernate.HibernateException; +import org.hibernate.LockMode; import org.hibernate.Session; import org.hibernate.action.Executable; @@ -40,7 +41,7 @@ public class TreeTestResultCollectionDaoHibernate extends HibernateDaoSupport getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { - session.refresh(ttrc); + session.lock(ttrc, LockMode.NONE); TreeTestResult ttr = (TreeTestResult) session.get( TreeTestResult.class, resultUuid); ttrc.getResults().add(ttr); @@ -55,7 +56,7 @@ public class TreeTestResultCollectionDaoHibernate extends HibernateDaoSupport getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { - session.refresh(ttrc); + session.lock(ttrc, LockMode.NONE); TreeTestResult ttr = (TreeTestResult) session.get( TreeTestResult.class, resultUuid); if (ttrc.getResults().remove(ttr)) -- 2.39.5