在hibernate中修改某几个字段的方法

  • Post author:
  • Post category:其他


我们在SSH中进行update操作时,有时只需要修改domain的某几个字段。对于这样的操作如何new 出一个新的对象,然后再为对象的每个属性赋值,操作就过于繁琐了。而且如果赋值有遗漏,更容易update后让domain的属性出现null值。

这是我们可以这样操作:

首先,必须有OID的值

然后根据OID的值得到对应的domain,然后为domain重新设置需要修改的那几个字段的值,

最后update到数据库中。

具体代码如下:



//修改日志



public ActionForward updateLog(ActionMapping mapping, ActionForm form,



HttpServletRequest request, HttpServletResponse response)



throws Exception {




// TODO Auto-generated method stub



//得到form表单



LogForm logForm = (LogForm) form;



//获得OID的值



int logid = Integer.parseInt(logForm.getLogid());





//获取log对象



Log log = (Log) logServiceInter.findById(Log.class, logid);



//为log对象需要修改的三个字段重新赋值



log.setTitle(logForm.getTitle());



log.setLogContent(logForm.getLogContent());



log.setPlanTomorrow(logForm.getPlanTomorrow());






System.out.println(log.toString());






try {




//调用service层的方法,将数值更新到数据库中



logServiceInter.update(log);



return mapping.findForward(“operok”);



} catch (Exception e) {




// TODO Auto-generated catch block



e.printStackTrace();



return mapping.findForward(“opererr”);



}





}



版权声明:本文为yingziok888原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。