无法执行的JDBC批量更新,跪求解决方法,急!

我写的类:booleanfalg=true;try{//根据ID删除角色try{//1.先把T_user表中的角色为当前的会员,将FLAG=3,表示删除TUsertuse... 我写的类:
boolean falg=true;
try{
//根据ID删除角色
try{
//1.先把T_user表中的角色为当前的会员,将FLAG=3,表示删除
TUser tuser=new TUser();
tuser = (TUser) getHibernateTemplate().find("from TUser where id=?",id).get(0);
System.out.println("输出转储密码的值: "+tuser.getPwd());
if(tuser!=null){
if(tuser.getPwd()=="null"){
tuser.setPwd("空");
System.out.println("为空");
}
if(tuser.getPwd()==null){
tuser.setPwd("空");
System.out.println("123456");
}
String idone=tuser.getId().toString();
Integer userId=Integer.parseInt(idone);
tuser.setFlag(userId);
getHibernateTemplate().update(tuser);
}
}catch(Exception e){
e.printStackTrace();
return false;
}
try{
//1.删除角色表T_role,将IFDELETE=1,表示删除
TRole trole=new TRole();
trole = (TRole) getHibernateTemplate().find("from TRole where roleid=?",id).get(0);
trole.setIfdelete(1);
System.out.println("ifdelete: "+trole.getIfdelete());
System.out.println("输出Trole中的字段:"+trole.getRoleid()+" "+trole.getIfdelete()+" "+trole.getDengji()+" "+trole.getRolename());
getHibernateTemplate().update(trole);
System.out.println("Ifdelete: "+trole.getIfdelete());
}catch(Exception e){
息:"+e.getMessage());
e.printStackTrace();TRole时报错(删除就是把ifdelete更新为1), 报错信息:"+e.getMessage());
return false;
}
}catch(Exception e){
falg=false;
e.printStackTrace();
log.debug("删除角色处,出现问题,类:TEoleDaoImpl,方法:deleteRole, 报错信息:"+e.getMessage());
}
return falg;
为什么报:
Could not execute JDBC batch update; nested exception is org.hibernate.exception.DataException: Could not execute JDBC batch update,急急急!跪求解释。
展开
 我来答
yyq2012aa
推荐于2021-02-14 · 超过56用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:132万
展开全部
你可以在第一个更新后面加个template.flush()之类的方法看看。不知道可不可行。
追问
加个template.flush()之类的方法有什么作用?麻烦解释下!
追答
意思是把你update的东西从缓存更新到数据库。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式