[hibernate-commits] Hibernate SVN: r15311 - core/patches/v312_HHH-1486_HHH-2397/src/org/hibernate/id.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Oct 9 15:27:25 EDT 2008


Author: cbredesen
Date: 2008-10-09 15:27:24 -0400 (Thu, 09 Oct 2008)
New Revision: 15311

Modified:
   core/patches/v312_HHH-1486_HHH-2397/src/org/hibernate/id/TableHiLoGenerator.java
Log:
HHH-2397

Modified: core/patches/v312_HHH-1486_HHH-2397/src/org/hibernate/id/TableHiLoGenerator.java
===================================================================
--- core/patches/v312_HHH-1486_HHH-2397/src/org/hibernate/id/TableHiLoGenerator.java	2008-10-09 18:44:14 UTC (rev 15310)
+++ core/patches/v312_HHH-1486_HHH-2397/src/org/hibernate/id/TableHiLoGenerator.java	2008-10-09 19:27:24 UTC (rev 15311)
@@ -54,11 +54,12 @@
 	throws HibernateException {
         if (maxLo < 2) {
 			//keep the behavior consistent even for boundary usages
-			int val = ( (Integer) super.generate(session, obj) ).intValue();
+			long val = ( (Number) super.generate(session, obj) ).longValue();
+            if (val == 0) val = ( (Number) super.generate(session, obj) ).longValue();
 			return IdentifierGeneratorFactory.createNumber( val, returnClass );
 		}
 		if (lo>maxLo) {
-			int hival = ( (Integer) super.generate(session, obj) ).intValue();
+            long hival = ( (Number) super.generate(session, obj) ).longValue();
 			lo = (hival == 0) ? 1 : 0;
 			hi = hival * (maxLo+1);
 			log.debug("new hi value: " + hival);




More information about the hibernate-commits mailing list