title: hibernate Open Session in View
body: <p>i am using the following approach to sole lazy initialization problem in hibernate.Pleas tell me whether it will work or not .
  I have to implement my transcation in my persistance layer compulsary due to some reasons.</p>
  
  <pre><code>public class CourseDAO {
  
         Session session = null;
      public CourseDAO()
  {
  
    this.session =    this.session = HibernateUtil.getSessionFactory().getCurrentSession(); 
  
  }
  
      public Course findByID(int cid){
  
  
          Course crc = null;
          Transaction tx = null;
          try {
              tx = session.beginTransaction();
              Query q = session.createQuery("from Course  as course where course.cid = "+cid+" ");
              crc = (Course) q.uniqueResult();
            //note that i am not commiting my transcation here.Because If i do that i will not be able to
            //do lazy fetch
  
  
          } 
          catch (HibernateException e)
          {
              e.printStackTrace();
               tx.rollback();
              throw new DataAccessLayerException(e);
          }
  
          finally
          {
  
  
          }
          return crc;
  }
  
  
  }
  </code></pre>
  
  <p>and in the filter i am using the folling code</p>
  
  <pre><code> session =  HibernateUtil.getSessionFactory().getCurrentSession();
       if(session.isOpen())
            HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().commit();
  </code></pre>
  
  <p>IS this approach right??
  Can it can have any problem</p>