我想在数据访问层中实现经典的POP方法:在内存中检索一些对象并从数据库中删除它。问题是,如果我在检索后删除它,我不能在代码中使用它,那么是否有解决方案?
现在我在使用该对象执行某些操作后将其删除。
谢谢
UPD#1:
public Notification pop() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (Notification) session.createCriteria(Notification.class)
.uniqueResult();
}
我希望在检索对象后删除它,但仍然可以在我的代码中访问它。
答案 0 :(得分:1)
我想我对你想说的话有所了解。您应该为Notification
类创建一个复制构造函数,并执行以下操作:
public Notification popAndRemove(){
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Notification notification = session.createCriteria(Notification.class)
.uniqueResult();
Notification newNotification = new Notification(notification);
session.delete(notification);
return newNotification;
}