public synchronized Serializable generate(final SessionImplementor session, Object obj) { if (hiValue < 0 || value >= hiValue) { hiValue = sql.nextValue(getSegmentValue(), getIncrementSize()); if (log.isDebugEnabled()) { log.debug("Loaded new hiValue " + hiValue + " for " + getSegmentValue()); } value = hiValue - getIncrementSize(); } value++; return value; }
public SessionFactory(org.hibernate.SessionFactory factory, SqlAction isolatedSqlAction) { this.factory = factory; for (Object k : this.factory.getAllClassMetadata().keySet()) { IdentifierGenerator ig = ((SessionFactoryImpl) factory).getIdentifierGenerator((String)k); if (ig instanceof TableIdGenerator) { ((TableIdGenerator) ig).setSqlAction(isolatedSqlAction); } } }