scheduleddeletion.java

来自「用Java实现的23个常用设计模式源代码」· Java 代码 · 共 47 行

JAVA
47
字号
//$Id: ScheduledDeletion.java,v 1.5.2.6 2003/11/05 09:01:30 oneovthafew Exp $package net.sf.hibernate.impl;import java.io.Serializable;import net.sf.hibernate.HibernateException;import net.sf.hibernate.cache.CacheConcurrencyStrategy.SoftLock;import net.sf.hibernate.engine.SessionImplementor;import net.sf.hibernate.persister.ClassPersister;final class ScheduledDeletion extends ScheduledEntityAction implements SessionImpl.Executable {		private final Object version;	private SoftLock lock;		public ScheduledDeletion(Serializable id, Object version, Object instance, ClassPersister persister, SessionImplementor session) {		super(session, id, instance, persister);		this.version = version;	}		public void execute() throws HibernateException {		Serializable id = getId();		ClassPersister persister = getPersister();		SessionImplementor session = getSession();		Object instance = getInstance();		if ( persister.hasCache() ) lock = persister.getCache().lock(id);				persister.delete(id, version, instance, session);		session.postDelete(instance);				if ( persister.hasCache() ) persister.getCache().evict(id);	}		public void afterTransactionCompletion(boolean success) throws HibernateException {		if ( getPersister().hasCache() ) getPersister().getCache().release( getId(), lock );	}	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?