001
014
015 package com.liferay.portal.dao.orm.jpa;
016
017 import com.liferay.portal.kernel.dao.orm.Dialect;
018 import com.liferay.portal.kernel.dao.orm.ORMException;
019 import com.liferay.portal.kernel.dao.orm.Session;
020 import com.liferay.portal.kernel.dao.orm.SessionFactory;
021
022 import java.sql.Connection;
023
024 import javax.persistence.EntityManager;
025 import javax.persistence.EntityManagerFactory;
026 import javax.persistence.PersistenceUnit;
027
028
032 public class SessionFactoryImpl implements SessionFactory {
033
034 public void closeSession(Session session) throws ORMException {
035 if (session != null) {
036 session.close();
037 }
038 }
039
040 public Session getCurrentSession() {
041 return _session;
042 }
043
044 public Dialect getDialect() throws ORMException {
045 return new DialectImpl();
046 }
047
048 public Session openNewSession(Connection connection) throws ORMException {
049 EntityManager entityManager =
050 _entityManagerFactory.createEntityManager();
051
052 return new NewSessionImpl(entityManager);
053 }
054
055 public Session openSession() throws ORMException {
056 return _session;
057 }
058
059 @PersistenceUnit
060 public void setEntityManagerFactory(
061 EntityManagerFactory entityManagerFactory) {
062
063 _entityManagerFactory = entityManagerFactory;
064 }
065
066 public void setSession(Session session) {
067 _session = session;
068 }
069
070 private EntityManagerFactory _entityManagerFactory;
071 private Session _session;
072
073 }