|
From: <one...@us...> - 2003-01-09 12:24:54
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister
In directory sc8-pr-cvs1:/tmp/cvs-serv16192/net/sf/hibernate/persister
Modified Files:
AbstractEntityPersister.java EntityPersister.java
MultiTableEntityPersister.java
Log Message:
redesigned id generator package
applied Mark Woon's patch for generated alias lengths
minor refactoring of Transaction package
Index: AbstractEntityPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/AbstractEntityPersister.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** AbstractEntityPersister.java 5 Jan 2003 02:11:22 -0000 1.3
--- AbstractEntityPersister.java 9 Jan 2003 12:24:51 -0000 1.4
***************
*** 27,31 ****
import net.sf.hibernate.util.StringHelper;
import net.sf.hibernate.id.IdentifierGenerator;
! import net.sf.hibernate.id.NativeGenerator;
import net.sf.hibernate.mapping.Column;
import net.sf.hibernate.mapping.PersistentClass;
--- 27,31 ----
import net.sf.hibernate.util.StringHelper;
import net.sf.hibernate.id.IdentifierGenerator;
! import net.sf.hibernate.id.IdentityGenerator;
import net.sf.hibernate.mapping.Column;
import net.sf.hibernate.mapping.PersistentClass;
***************
*** 131,135 ****
.append( cols[i] )
.append(" as ")
! .append( aliasColumn(cols[i], suffix) );
if (i!=cols.length-1) buf.append(", ");
}
--- 131,135 ----
.append( cols[i] )
.append(" as ")
! .append( StringHelper.suffix(cols[i], suffix) );
if (i!=cols.length-1) buf.append(", ");
}
***************
*** 480,484 ****
hasEmbeddedIdentifier = model.hasEmbeddedIdentifier();
identifierPropertyName = model.hasIdentifierProperty() ? model.getIdentifierProperty().getName() : null;
- idgen = model.getIdentifier().getIdentifierGenerator();
Value idValue = model.getIdentifier();
identifierType = idValue.getType();
--- 480,483 ----
***************
*** 550,556 ****
}
! IdentifierGenerator idgen = model.getIdentifier().getIdentifierGenerator();
! useIdentityColumn = dialect.supportsIdentityColumns() && ( idgen instanceof NativeGenerator );
identitySelectString = (useIdentityColumn) ? dialect.getIdentitySelectString() : null;
--- 549,556 ----
}
+ // GENERATOR
! idgen = model.getIdentifier().createIdentifierGenerator(dialect);
! useIdentityColumn = idgen instanceof IdentityGenerator;
identitySelectString = (useIdentityColumn) ? dialect.getIdentitySelectString() : null;
***************
*** 687,709 ****
return concreteProxyClass;
}
-
- //TODO: refactor! this is a duplicate of a method in the Loader heirarchy
- protected static String aliasColumn(String name, String suffix) {
-
- char quote = name.charAt(0);
- boolean nameEscaped = Dialect.QUOTE.indexOf(quote) > -1;
-
- if (nameEscaped) name = name.substring(1, name.length()-1);
-
- StringBuffer aliasBuilder = new StringBuffer(name.length());
-
- if (nameEscaped) aliasBuilder.append(quote);
- aliasBuilder.append(name);
- aliasBuilder.append(suffix);
- if (nameEscaped) aliasBuilder.append(quote);
- return aliasBuilder.toString();
- }
-
public Class getMappedSuperclass() {
return superclass;
--- 687,691 ----
Index: EntityPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/EntityPersister.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** EntityPersister.java 5 Jan 2003 02:11:22 -0000 1.3
--- EntityPersister.java 9 Jan 2003 12:24:51 -0000 1.4
***************
*** 36,39 ****
--- 36,40 ----
import net.sf.hibernate.StaleObjectStateException;
import net.sf.hibernate.hql.PathExpressionParser;
+ import net.sf.hibernate.id.IdentifierGeneratorFactory;
import net.sf.hibernate.type.AbstractComponentType;
import net.sf.hibernate.type.DiscriminatorType;
***************
*** 522,526 ****
try {
if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value");
! id = dialect.getIdentityFrom(rs);
}
finally {
--- 523,527 ----
try {
if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value");
! id = IdentifierGeneratorFactory.get( rs, getIdentifierType().returnedClass() );
}
finally {
***************
*** 900,904 ****
.append(discr)
.append(" as ")
! .append( aliasColumn(discr, suffix) );
}
--- 901,905 ----
.append(discr)
.append(" as ")
! .append( StringHelper.suffix(discr, suffix) );
}
***************
*** 911,915 ****
.append( cols[i] )
.append(" as ")
! .append( aliasColumn(cols[i], suffix) );
}
return buf.toString();
--- 912,916 ----
.append( cols[i] )
.append(" as ")
! .append( StringHelper.suffix(cols[i], suffix) );
}
return buf.toString();
Index: MultiTableEntityPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/MultiTableEntityPersister.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** MultiTableEntityPersister.java 5 Jan 2003 02:11:22 -0000 1.3
--- MultiTableEntityPersister.java 9 Jan 2003 12:24:51 -0000 1.4
***************
*** 38,41 ****
--- 38,42 ----
import net.sf.hibernate.StaleObjectStateException;
import net.sf.hibernate.hql.PathExpressionParser;
+ import net.sf.hibernate.id.IdentifierGeneratorFactory;
import net.sf.hibernate.type.AbstractComponentType;
import net.sf.hibernate.type.DiscriminatorType;
***************
*** 555,559 ****
try {
if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value");
! id = dialect.getIdentityFrom(rs);
}
finally {
--- 556,560 ----
try {
if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value");
! id = IdentifierGeneratorFactory.get( rs, getIdentifierType().returnedClass() );
}
finally {
***************
*** 1094,1098 ****
}
buf.append(" end as ")
! .append( aliasColumn( getDiscriminatorColumnName(), suffix) );
}
--- 1095,1099 ----
}
buf.append(" end as ")
! .append( StringHelper.suffix( getDiscriminatorColumnName(), suffix) );
}
***************
*** 1107,1111 ****
.append( cols[i] )
.append(" as ")
! .append( aliasColumn( subclassColumnClosureAliases[i], suffix) );
}
return buf.toString();
--- 1108,1112 ----
.append( cols[i] )
.append(" as ")
! .append( StringHelper.suffix( subclassColumnClosureAliases[i], suffix) );
}
return buf.toString();
|