Я удаляю объект, передавая id, но он удаляется, но показывает, что «сессия закрыта». Я только что разместил эти два класса, один из которых является контроллером, а другой - методом удаления, когда объект удаляется, но говорит, что «сеанс закрыт».org.hibernate.SessionException: сессия закрыта! error
In CategoryDAOImpl.java class
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.acem.sp.dao.impl;
import com.acem.sp.dao.CategoryDAO;
import com.acem.sp.entity.Category;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
/**
*
* @author AshwinKArki
*/
@Repository
public class CategoryDAOImpl implements CategoryDAO {
@Autowired
private SessionFactory sessionFactory;
private Session session;
private Transaction trans;
@Override
public List<Category> getAll() {
session=sessionFactory.openSession();
Query query=session.getNamedQuery("Category.findAll");
List<Category> catList=query.list();
session.close();
return catList;
}
@Override
public Category getById(int id) {
session=sessionFactory.openSession();
Category cat=(Category)session.get(Category.class, id);
session.close();
return cat;
}
@Override
public void insert(Category t) {
session=sessionFactory.openSession();
trans=session.beginTransaction();
session.save(t);
trans.commit();
session.close();
}
@Override
public void update(Category t) {
session=sessionFactory.openSession();
trans=session.beginTransaction();
session.saveOrUpdate(t);
trans.commit();
session.close();
}
@Override
public void delete(int id) {
session = session.getSessionFactory().openSession();
trans=session.beginTransaction();
session.delete(getById(id));
trans.commit();
session.flush() ;
session.close();
}
}
In my admincontroller.java class
@RequestMapping(value="/dashboard/delete/{id}",method=RequestMethod.GET)
public String delete(@PathVariable("id") int id){
categoryDAO.delete(id);
return "admin/dashboard";
}
}
Вы можете оставить свой журнал ошибок – Akshay
org.springframework.web.util.NestedServletException: обработка запроса не удалась; Вложенное исключение - org.hibernate.SessionException: сеанс уже закрыт первопричина org.hibernate.SessionException: сеанс уже закрыт –