diff options
author | Henri Herscher <henri@oreka.org> | 2005-10-20 13:40:58 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2005-10-20 13:40:58 +0000 |
commit | 7e1d63dd9fd149e4934bf77095c8610fac786b04 (patch) | |
tree | 5fe486a1b0300c3b84fb559107a868e5cc2c95da /orkbasej/java/net/sf/oreka/HibernateManager.java | |
parent | 467768fc956fc3e5a253373f26c71c681b31b6b8 (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.java | 67 |
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(); + } +} |