0

我想在数据访问层中实现经典的 POP 方法:在内存中检索一些对象并将其从数据库中删除。问题是如果我在检索后删除它就不能在代码中使用它,那么有什么解决办法吗?

现在我在对对象进行一些操作后在代码中删除它。

谢谢

更新#1:

public Notification pop() {
    Session session = HibernateUtil.getSessionFactory().getCurrentSession();

    return (Notification) session.createCriteria(Notification.class)
        .uniqueResult();
}

我想在检索对象后删除它,但仍然可以在我的代码中访问它。

4

1 回答 1

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;
} 
于 2012-04-12T12:52:04.600 回答