自动生成的save方法
一般要改动返回值吗
例如改为boolean
方便判断是否保存成功
如果部改
如何判断成功?
Exception ?

解决方案 »

  1.   

    我不知道你想判断不成功后做什么操作,反正我没改过返回值,是action中用的try,异常时把异常信息返回给前台
      

  2.   

    它返回的是一个list  你只要判断这个list.size()是否大于0  就可以给boolean复制了  
      

  3.   

    public void save(Info transientInstance) {
    Transaction tran = null;
    log.debug("saving Info instance");
    try {
    Session session=getSession();
    tran=session.beginTransaction();
    getSession().save(transientInstance);
    tran.commit();
    log.debug("save successful");
    } catch (RuntimeException re) {
    tran.rollback();
    log.error("save failed", re);
    throw re;
    }
    }
    如果只是用main函数测试呢 
      

  4.   

    我都是直接void save的。。保存不成功就会报异常,用spring管理实务,让它自己回滚,然后配置公共的错误提示页面,把异常显示在jsp页面上提示。。如果要在Main测试的话,
    Configuration conf = new Configuration();
    conf.configure();
    SessionFactory sessionFactory = conf.buildSessionFactory();
    Session session = sessionFactory.openSession();
    Transaction tx = session.beginTransaction();

    session.save(xxxx); tx.commit();
    session.close();
    sessionFactory.close();
      

  5.   

    hibernate在使用save方法持久化一个临时状态的POJO后,这个POJO马上变成持久状态,即这个POJO对应数据库里的一条记录,所有表字段和对象属性都保持对应,包括主键。而后关闭session后,该POJO处于托管状态,但POJO中的数据依然存在。所以,save后,只需要从对象中马上再getId(),如果返回的是null,表示没有成功。否则,你懂得……