所以我遇到了删除查询的问题。这是我的方法:
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;网页所以我认为控制器工作。我不知道自己做错了什么。
答案 0 :(得分:0)
您可以在提交交易之前尝试一下 首先执行更新并提交事务