ssh整合项目中,po对象不允许出DAO层,请问该如何在service层对数据进行更新

dao层接口:publicQuestionBeanquerybyid();(在实现类中将PO对象赋值给QuestionBean对象)Service层实现类:publicv... dao层接口:public QuestionBean querybyid();(在实现类中将PO对象赋值给QuestionBean 对象)
Service层实现类:public void updateQuestionstatus(int qid,int status) {
QuestionBean questionbean=questiondao.getbyqidnoanswer(qid);
questionbean.setStatus(2);
questionbean.setClickcount(0);
questionbean.setContent("sa");
questiondao.update(questionbean); //在dao层再将bean对象赋给PO
}
将事物管理配置在service层
这里如上设置会出异常,org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [edu.usth.myznt.model.Question#11]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [edu.usth.myznt.model.Question#11]

菜鸟自学的,不知该如何解决这种问题
我想知道如何在po对象不出DAO层的前提下解决这种问题
//update方法
public void update(QuestionBean questionbean) {

Question question=new Question(questionbean.getQid(),questionbean.getTitle(), questionbean.getContent(), questionbean.getItemid(),
questionbean.getSubid(), questionbean.getUserid(), questionbean.getGrade(), questionbean.getOfferscore(),
questionbean.getStatus(),questionbean.getQuestiontime(),questionbean.getClickcount(),
questionbean.getAcceptflag(), questionbean.getCommenflag());
hibernateTemplate.update(question);
}
展开
 我来答
ahyyxx222
2011-03-12 · TA获得超过2532个赞
知道小有建树答主
回答量:1405
采纳率:33%
帮助的人:1212万
展开全部
hibernate报的错误是库里已经有一个id为11的question,你的操作并不是update,而是save了一个新的id重复的question
关键是要先正确获得现有的question,再set属性值.
具体怎么获取要看你们的类是怎么封装的了,反正上面没正确获取,导致最后update操作插了个新po
更多追问追答
追问
我把update方法发上来了,帮我看下,谢谢
还有如果不配置事物,数据是可以正常更新的
追答
这个update方法是公用的还是你写的?
new出来的对象再存入主键id是不能用来做更新操作的,你要用find或者load方法从数据库里得到现有的question对象才可以对它set值做更新
wangyue683
2011-03-26
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
发帖
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式