I'm getting the following error when using Hibernate as my persistence
layer:

java.sql.SQLException: ORA-02391: exceeded simultaneous SESSIONS_PER_USER
limit ORA-02063: preceding line from NAS_AC_72 
ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit ORA-02063:
preceding line from NAS_AC_72 

Could this be caused by Hibernate?  I'm hoping not, but I don't know enough
about it to argue with the DBA that Hibernate (and my code) is not the
problem.  Here's is a sample class I'm using to connect:


public class ChangeRequestDAOHibernate extends BaseDAOHibernate implements
ChangeRequestDAO {
    private static SessionFactory sessionFactory;
    private static Datastore datastore;
    private Log log = LogFactory.getLog(ChangeRequestDAOHibernate.class);

    public ChangeRequestDAOHibernate() throws DAOException {
        try {
            datastore = Hibernate.createDatastore();
 
datastore.storeClass(com.cable.comcast.dmc.itd.cct.persistence.ChangeRequest
.class);

            // build a SessionFactory
            sessionFactory = datastore.buildSessionFactory();
        } catch (MappingException e) {
            throw new DAOException(e);
        } catch (HibernateException e) {
            throw new DAOException(e);
        }
    }
        /**
         * @see
com.cable.comcast.dmc.itd.cct.persistence.ChangeRequestDAO#getHeadends(MSO)
         */
        public List getHeadendsForMSO(MSO mso) throws DAOException {
                Session ses = null;
                List headendList = null;
                
                try {
                        ses = sessionFactory.openSession();

                        List changeRequests =
                                (List) ses.find("from cr in class
com.cable.comcast.dmc.itd.cct.persistence.ChangeRequest where cr.msoId=?",
                                                mso.getId(),
Hibernate.LONG);
                                                                
                        if ((changeRequests == null) ||
(changeRequests.size() == 0)) {
                                log.warn("No headends found for msoId: " +
mso.getId());
                                return new ArrayList();
                        }
                        
                        // if results are found, look up the headend names
and build a list of headend objects
                        LookupDAO lookupDAO = new LookupDAOHibernate();
                        List headendIds = new ArrayList();
                        
                        // loop though the change requests and build a list
of headends
                        for (int i=0; i < changeRequests.size(); i++) {
                                ChangeRequest cr = (ChangeRequest)
changeRequests.get(i);
                                Headend h = new Headend();
                                h.setId(cr.getHeadendId());             
                                headendIds.add(h);              
                        }
                        
                        headendList = lookupDAO.getHeadendNames(headendIds);

                } catch (Exception e) {
                        try {
                                ses.connection().rollback();
                        } catch (Exception ex) {
                                e.printStackTrace();
                        }

                        throw new DAOException(e);
                } finally {
                        try {
                                ses.close();
                        } catch (Exception ex) {
                                ex.printStackTrace();
                        }
                }
        
                return headendList;

        }

}




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to