2013-08-18 3 views
2

Я пытаюсь удалить запись через Spring mvc, но я не могу это сделать. Я получаю 404 Ошибка, заявляя, что запрашиваемый ресурс не найден.Невозможно удалить запись-Springs MVC Hibernate

Мой код контроллера

@RequestMapping("/delete/{user_id}") 
    public ModelAndView deleteUser(@PathVariable("user_id")Integer user_id){ 
     userService.removeUser(user_id); 
     return new ModelAndView("redirect:/userList.html"); 
    } 

и что его собираются в UserService и оттуда его будет UserServiceImpl и оттуда 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 файл свойств, но все еще для удаления. Я получаю оператор select.

+0

Если вы получаете сообщение об ошибке 404, весьма вероятно, что у вас есть проблемы с отображением запроса. Попытайтесь поставить точку останова на первой строке вашего метода «deleteUser», запустить сервер в режиме отладки и выполнить запрос на удаление. Если отладчик прекратит выполнение приложения, и вы можете выполнять отладку - чем проблема где-то в коде. Если ничего не прекращается - нет никакого сопоставления между вашим запросом и выполнением метода deleteUser – yname

+0

Да, вы правы, и есть некоторые проблемы с этим. Можете ли вы мне посоветовать, так как я все еще новичок. – Nilesh

+0

Как вы выполняете запрос на удаление? через or via

? – yname

ответ

1

Wrap удалить код транзакции:

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() 
+0

Проблема заключается в том, что все еще выполняется выбор, а не удаление. – Nilesh

+0

См. Обновленный ответ. попробуйте этот код. – yname

+0

Поистине превосходный ... Не могли бы вы объяснить мне, что пошло не так в моем предыдущем коде, который вы изменили? – Nilesh