使用Struts和Hibernate更新数据

时间:2015-02-02 23:46:48

标签: java hibernate struts2

我必须使用Hibernate和Struts2更新数据库中的某些行:

我把requete放在的方法DAO是:

public void modifier(String cond) {

    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();
     try{Query query = session.createQuery("Update Processus set selectionne = '1' where"+cond );

        //  query.setString("idproc",idprocessus);
        //  query.setLong("idsi", identifiantsi);
     }catch(HibernateException e) {
            e.printStackTrace();
            session.getTransaction().rollback();
        }

     session.getTransaction().commit();
}

在我调用DAO的动作类中,我指定了cond:

public String update(){

cond="id_processus="+checked;



procdao.modifier(cond);

    return SUCCESS;
}

你可以帮助我吗,它在控制台中显示任何错误,但行的价值不会改变!!!!

1 个答案:

答案 0 :(得分:0)

以下代码可能会有所帮助:Processus表名选择和idproc是列名

  • 您需要执行查询
  • 检查更新的行数。

    public Boolean modifier(String cond) {
    
    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();
    Boolean returnValue = false;
    try {
        Query query = session.createQuery("Update Processus set selectionne = '1' where idproc=:cond");
        query.setString("cond", cond);
        int noOfUpdate = query.executeUpdate();
        returnValue = (noOfUpdate > 0);
    } catch (HibernateException e) {
        e.printStackTrace();
        session.getTransaction().rollback();
    }
    session.getTransaction().commit();
    return returnValue;
    

    }