解决方案 »

  1.   

    不要同一个问题重复发帖哦:http://bbs.csdn.net/topics/390729445
      

  2.   

    那麻烦帮忙看一下吧!我那个代码中用的就是beginTransation(),不知道是哪里出了问题,就是连不上数据库啊!
      

  3.   

    你的hibernate没有启动事务吧。仔细检查一下代码。
      

  4.   

    我是在另外一个HibernateTemplate.java文件中启动事务的
    public Object run(Session session, boolean autocommit,
    HibernateDoWork callback) {
    Object o = null;
    try {
    if (autocommit && !session.isOpen()) {
    session = HibernateUtil.getSession();
    }
    if (autocommit)
    session.beginTransaction();
    o = callback.execute(session);
    if (autocommit)
    session.getTransaction().commit();
    } catch (HibernateException e) {
    e.printStackTrace();
    if (autocommit)
    session.getTransaction().rollback();
    throw new HibernateException(e);
    } catch (DatastoreException e) {
    e.printStackTrace();
    throw new RuntimeException(e);
    } finally {
    if (autocommit && session != null) {
    try {
    HibernateUtil.closeSession(session);// 关闭session
    } catch (DatastoreException e) {
    e.printStackTrace();
    }
    }
    }
    return o;// 回调函数
    }
    可是我也不知道到底是哪里出了问题?就是连不上数据库啊
      

  5.   

    首先看看
    if (autocommit && !session.isOpen()) {
    session = HibernateUtil.getSession();
    }看你的这句话  能执行吗? 能得到session吗?
    其次:if (autocommit)
    session.beginTransaction();
    看看这个执行了没