scheduledidentityinsertion.java

来自「人力资源管理系统 系统把几乎所有与人力资源相关的数据统一管理」· Java 代码 · 共 59 行

JAVA
59
字号
//$Id: ScheduledIdentityInsertion.java,v 1.1.2.2 2004/02/01 20:52:14 oneovthafew Exp $package net.sf.hibernate.impl;import java.io.Serializable;import net.sf.hibernate.HibernateException;import net.sf.hibernate.engine.SessionImplementor;import net.sf.hibernate.persister.ClassPersister;final class ScheduledIdentityInsertion extends ScheduledEntityAction implements SessionImpl.Executable{	private final Object[] state;	private CacheEntry cacheEntry;	private Serializable generatedId;		public ScheduledIdentityInsertion(Object[] state, Object instance, ClassPersister persister, SessionImplementor session) 	throws HibernateException {		super(session, null, instance, persister);		this.state = state;	}		public void execute() throws HibernateException {		ClassPersister persister = getPersister();		SessionImplementor session = getSession();		Object object = getInstance();				// Don't need to lock the cache here, since if someone		// else inserted the same pk first, the insert would fail				generatedId = persister.insert(state, object, session);				//TODO: this bit actually has to be called after all cascades!		/*if ( persister.hasCache() && !persister.isCacheInvalidationRequired() ) {			cacheEntry = new CacheEntry(object, persister, session);			persister.getCache().insert(generatedId, cacheEntry);		}*/	}		//Make 100% certain that this is called before any subsequent ScheduledUpdate.afterTransactionCompletion()!!	public void afterTransactionCompletion(boolean success) throws HibernateException {		//TODO: reenable		/*ClassPersister persister = getPersister();		if ( success && persister.hasCache() && !persister.isCacheInvalidationRequired() ) {			persister.getCache().afterInsert( getGeneratedId(), cacheEntry );		}*/	}		public final Serializable getGeneratedId() {		return generatedId;	}	}

⌨️ 快捷键说明

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