summaryrefslogtreecommitdiff
path: root/orkbasej/java/net/sf/oreka/HibernateManager.java
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2005-10-20 13:40:58 +0000
committerHenri Herscher <henri@oreka.org>2005-10-20 13:40:58 +0000
commit7e1d63dd9fd149e4934bf77095c8610fac786b04 (patch)
tree5fe486a1b0300c3b84fb559107a868e5cc2c95da /orkbasej/java/net/sf/oreka/HibernateManager.java
parent467768fc956fc3e5a253373f26c71c681b31b6b8 (diff)
First checkin
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@2 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasej/java/net/sf/oreka/HibernateManager.java')
-rw-r--r--orkbasej/java/net/sf/oreka/HibernateManager.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/orkbasej/java/net/sf/oreka/HibernateManager.java b/orkbasej/java/net/sf/oreka/HibernateManager.java
new file mode 100644
index 0000000..806f5ba
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/HibernateManager.java
@@ -0,0 +1,67 @@
+/*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+/**
+ *
+ */
+package net.sf.oreka;
+
+import java.io.File;
+
+import net.sf.oreka.persistent.Domain;
+import net.sf.oreka.persistent.LoginString;
+import net.sf.oreka.persistent.RecPort;
+import net.sf.oreka.persistent.RecPortFace;
+import net.sf.oreka.persistent.RecProgram;
+import net.sf.oreka.persistent.RecSegment;
+import net.sf.oreka.persistent.RecSession;
+import net.sf.oreka.persistent.RecTape;
+import net.sf.oreka.persistent.Service;
+import net.sf.oreka.persistent.User;
+
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.cfg.AnnotationConfiguration;
+
+
+public class HibernateManager {
+
+ private static SessionFactory sessionFactory = null;
+
+ public static void configure(String filename) throws Exception {
+
+ File configFile = new File(filename);
+
+ AnnotationConfiguration config = new AnnotationConfiguration();
+ config.configure(configFile);
+
+ config.addAnnotatedClass(RecProgram.class);
+ config.addAnnotatedClass(RecSession.class);
+ config.addAnnotatedClass(RecSegment.class);
+ config.addAnnotatedClass(RecTape.class);
+ config.addAnnotatedClass(User.class);
+ config.addAnnotatedClass(LoginString.class);
+ config.addAnnotatedClass(Domain.class);
+ config.addAnnotatedClass(Service.class);
+ config.addAnnotatedClass(RecPort.class);
+ config.addAnnotatedClass(RecPortFace.class);
+ sessionFactory = config.buildSessionFactory();
+ }
+
+ public static Session getSession() throws Exception {
+ if (sessionFactory == null) {
+ throw new OrkException("HibernateManager.getSession: application must configure hibernate before using it.");
+ }
+ return sessionFactory.openSession();
+ }
+}