无法删除Springs MVC Hibernate项

无法删除Springs MVC Hibernate项,hibernate,spring-mvc,Hibernate,Spring Mvc,我正试图通过spring mvc删除一个条目,但我无法执行。我收到404错误,说明未找到请求的资源 我的控制器代码是 @RequestMapping("/delete/{user_id}") public ModelAndView deleteUser(@PathVariable("user_id")Integer user_id){ userService.removeUser(user_id); return new ModelAndView("red

我正试图通过spring mvc删除一个条目,但我无法执行。我收到
404
错误,说明未找到请求的资源

我的控制器代码是

@RequestMapping("/delete/{user_id}")
    public ModelAndView deleteUser(@PathVariable("user_id")Integer user_id){
        userService.removeUser(user_id);
        return new ModelAndView("redirect:/userList.html");
    }
它将进入
UserService
并从那里进入
userserviceinpl
,然后从那里进入
UserDao
UserDaoImpl
,其代码是

public void removeUser(Integer user_id){
        User user = (User) sessionfactory.getCurrentSession().load(
                User.class, user_id);
        if (null != user) {
            sessionfactory.getCurrentSession().delete(user);
            System.out.println("Successfully deleted");
        }

我在属性文件中执行了一个
hibernate.show_sql=true
int,但对于delete,我得到了一个
select
语句。

将delete代码与事务打包:

Session session = sessionFactory.getCurrentSession();
Transaction t = session.beginTransaction();
User user = (User) session.load(User.class, user_id);
if (null != user) {
        session.delete(user);
        System.out.println("Successfully deleted");
}
session.flush();
t.commit()

如果出现404错误,很可能是请求映射有问题。尝试将行断点放在“deleteUser”方法的第一行,在调试模式下运行服务器并执行删除请求。若调试器停止应用程序执行,并且您可以执行调试,那个么问题就在代码中的某个地方。如果没有停止-在您的请求和“deleteUser”方法执行之间没有映射是的,您是对的,并且存在一些问题。由于我还是一个新手,请您指导我。您如何执行删除请求?via或via?在浏览器的地址栏中显示的应用程序欢迎页面的URL是什么?当您获得404时,浏览器地址栏中显示的URL是什么?我的猜测是,您忘记了预先设置应用程序的上下文路径。向我们展示您如何生成URL。我刚刚在web.xml中做了一些更改,并将*.html更改为/。现在它可以工作了,但问题是数据没有被删除。问题是它仍然在执行select而不是delete。真是太棒了……您能解释一下您更改的早期代码中出现了什么错误吗?实体对象可能有几个错误状态:瞬时、持续、分离。若要删除对象,它必须处于持久(附加到会话)状态。在对象获取实体未处于持久状态(处于分离状态)后打开事务时。所以我们必须获取并删除一个事务范围内的对象,才能使对象处于持久状态。由于初始代码中的某些原因(可能是因为错误的事务管理),在执行delete method时,用户会分离。为了实现正确的事务管理,我建议您使用@Transactional spring注释: