Java CRUD - 用Hibernate删除

时间:2018-02-11 09:06:02

标签: java hibernate

所以我遇到了删除查询的问题。这是我的方法:

public void delete(int x) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    session.beginTransaction();
    SQLQuery sqlQuery = session.createSQLQuery("delete from Event where event_id=" + x);
    session.getTransaction().commit();
    sqlQuery.executeUpdate();
}

这是我的JSP文件的一部分:

<a href="deleteEvent.do?id=<c:out value='${c.eventId}'/>">Delete</a>

这是我的控制者:

EventDao eDao = new EventDao();

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

            int id = Integer.parseInt(request.getParameter("id"));
            eDao.delete(id);
}

当我点击&#34;删除&#34;链接它打开localhost:8080 / App / deleteEvent.do?id = 8但它不会删除我的数据库中的记录。如果我添加response.sendRedirect(&#34; list&#34;);它将我重定向到&#39; list&#39;网页所以我认为控制器工作。我不知道自己做错了什么。

1 个答案:

答案 0 :(得分:0)

您可以在提交交易之前尝试一下 首先执行更新并提交事务