diff options
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(); + } +} |