summaryrefslogtreecommitdiff
path: root/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java
diff options
context:
space:
mode:
Diffstat (limited to 'orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java')
-rw-r--r--orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java b/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java
new file mode 100644
index 0000000..d23bc30
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java
@@ -0,0 +1,67 @@
+package net.sf.oreka.srvc;
+
+import net.sf.oreka.HibernateManager;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.hibernate.HibernateException;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+
+public class ObjectServiceHbn implements ObjectService {
+
+ static Logger logger = Logger.getLogger(ObjectServiceHbn.class);
+
+ public Object getObjectById(java.lang.Class cl, int id) {
+
+ Session hbnSession = null;
+ Object obj = null;
+
+ logger.debug("Retrieving " + cl.getName() + " object with id:" + id);
+
+ try
+ {
+ hbnSession = HibernateManager.instance().getSession();
+ obj = hbnSession.get(cl, id);
+ }
+ catch ( HibernateException he ) {
+ logger.error("getObjectById: exception:" + he.getClass().getName());
+ }
+ catch (Exception e)
+ {
+ logger.error("getObjectById: exception:", e);
+ }
+ finally {
+ if(hbnSession != null) {hbnSession.close();}
+ }
+ return obj;
+ }
+
+ public void saveObject(Object obj) {
+
+ Session hbnSession = null;
+ Transaction tx = null;
+
+ logger.debug("Saving " + obj.getClass().getName());
+
+ try
+ {
+ hbnSession = HibernateManager.instance().getSession();
+ tx = hbnSession.beginTransaction();
+ hbnSession.saveOrUpdate(obj); // was merge
+ tx.commit();
+ }
+ catch ( HibernateException he ) {
+ logger.log(Level.ERROR, he.toString());
+ he.printStackTrace();
+ }
+ catch (Exception e)
+ {
+ logger.error(e);
+ e.printStackTrace();
+ }
+ finally {
+ if(hbnSession != null) {hbnSession.close();}
+ }
+ }
+}