作者:Yan / xyzroundo
问题描述:
一般情况下我们对面向对象的update语句的使用是修改对象的一些基本类型的属性,如 UPDATE BiddingDocument o SET o.releaseState=1等,这的基本类型是指非自定义对象。那么,如果我们需要利用update语句来修改对象的自定义对象的属性该怎么做呢?
解决方法:
如下语句:
Purchaser p=this.purchaserDao.findByKey(strHql_getEditor);
String strHql="UPDATE BiddingDocument o SET o.releaseState="+releaseState
+",o.updateTime='"+strDate+"',o.editor="+p.getId()+" WHERE o.id = "+bid;
以上语句中o.editor是BiddingDocument的一个自定义对象Purchaser的属性,那么要在语句中修改此属性,不应该直接将Purchaser 对象赋予它(一般可能都会这样想),而是应该将Purchaser 对象的主键值赋予它。这样就OK了!