gpt4 book ai didi

java - 无法使用 Spring MVC 和 Hibernate 删除

转载 作者:行者123 更新时间:2023-12-04 06:42:15 27 4
gpt4 key购买 nike

我有一个简单的删除方法,它从一个表中获取 id,该表列出了 db 中的所有内容:

@RequestMapping(value = "/personagem/excluir.htm")
public ModelAndView doExcluir(@RequestParam("id") int id) {
logger.info("Recebendo parametro: {Id => " + id + "}");
try {
Personagem p = getPersonagemService().buscarPorId(id);
logger.info("Excluindo personagem: {Id => " + p.getId() + ", Nome => " + p.getNome() + ", Classe => " + p.getClasse() + "}");
getPersonagemService().excluir(p);
return new ModelAndView("excluir");
} catch (Exception ex) {
return new ModelAndView("erro", "mensagem", "Ocorreu um erro: " + ex);
}
}

这是我的 dao 中的删除方法:
public void excluir(Object obj) {
getSession().beginTransaction();
getSession().delete(obj);
getSession().flush();
getSession().close();
}

我单击删除按钮,调用 doExcluir() 方法,应该删除数据。它应该返回到列表页面,但它不会从表中删除数据。我做错了什么吗?

最佳答案

您没有提交交易:

public void excluir(Object obj) {
getSession().beginTransaction();
getSession().delete(obj);
getSession().getTransaction().commit();
getSession().close();
}

作为旁注,为什么不使用 Spring 及其集成的事务管理来删除所有这些样板代码?

关于java - 无法使用 Spring MVC 和 Hibernate 删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4093869/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com