知道美河 | 上传资料 | VIP申请 | 精品课程 | 资料搜索 | 问题反馈 | 会员手册 | 积分消费 | 积分充值 | 帐号保护
美河学习学习在线赞助VIP

美河学习在线(主站) eimhe.com

用户名  找回密码
 建立账号
查看: 9157|回复: 8

[求助] hibernate 进行删除———高手指点下

[复制链接]
发表于 2007-2-7 17:34:51 | 显示全部楼层 |阅读模式
public void delete(String userid)
        {
                Session session = HibernateSessionFactory.getSession();
                Transaction ts = session.beginTransaction();
                        Query query = session.createQuery("delete User as user where user.userId = ?");
                        query.setString(0, userid);
                        query.executeUpdate();
                ts.commit();
                session.close();
        }

public ActionForward delete(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response) {
                String userid = (String)request.getParameter("userID");
               
                System.out.println(userid);
                userdao.delete(userid);
                return mapping.findForward("showUser");
        }
userid 取值正确
show_sql 打开,控制台:Hibernate: delete from user where user_id=?
页面:
javax.servlet.ServletException: could not execute update query
        org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
        org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
        org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
        org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
        org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        org.renyijiang.myFilter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)


root cause

org.hibernate.exception.ConstraintViolationException: could not execute update query
        org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
        org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:84)
        org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:334)
        org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:209)
        org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1126)
        org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
        com.seek.dao.UserDAO.delete(UserDAO.java:88)
        com.seek.struts.action.UserManageAction.delete(UserManageAction.java:44)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
        org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
        org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
        org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
        org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
        org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        org.renyijiang.myFilter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)

哪位知道怎么回事?搞了一天了,急等
发表于 2007-2-7 17:54:46 | 显示全部楼层
ConstraintViolationException

Implementation of JDBCException indicating that the requested DML operation resulted in a violation of a defined integrity constraint.

应该是数据库约束问题。你查下数据库设置
 楼主| 发表于 2007-2-8 08:43:11 | 显示全部楼层
怎么弄啊 ,不是很明白,user是主表,还有很多是以user_id为外键的,我设了cascade=all,应该是约束问题,其他的都能用,望再能指点下,谢谢
发表于 2007-2-8 09:06:06 | 显示全部楼层
约束的问题,我想单表这样你应该是成功了,多表这样不成功应该就是约束之类的问题了。
发表于 2007-2-10 16:14:21 | 显示全部楼层
发表于 2007-5-5 11:40:54 | 显示全部楼层
发表于 2007-5-6 00:44:23 | 显示全部楼层
发表于 2007-5-8 22:35:16 | 显示全部楼层
发表于 2007-5-16 10:59:54 | 显示全部楼层
您需要登录后才可以回帖 登录 | 建立账号

本版积分规则

 
QQ在线咨询

QQ|小黑屋|手机版|Archiver|美河学习在线 ( 浙网备33020302000026号 )

GMT+8, 2025-5-22 05:55

Powered by Discuz!

© 2001-2025 eimhe.com.

快速回复 返回顶部 返回列表