Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl
In directory sc8-pr-cvs1:/tmp/cvs-serv6974/impl
Modified Files:
SessionFactoryImpl.java SessionImpl.java
Log Message:
fixed a problem in ObjectType
fixed a bug where PreparedStatements were returned to cache with setMaxRows() still set
Index: SessionFactoryImpl.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/SessionFactoryImpl.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** SessionFactoryImpl.java 16 Feb 2003 01:55:05 -0000 1.11
--- SessionFactoryImpl.java 19 Feb 2003 02:02:09 -0000 1.12
***************
*** 540,543 ****
--- 540,545 ----
public void closePreparedStatement(PreparedStatement ps) throws SQLException {
if (stCache!=null) {
+ ps.setMaxRows(0);
+ ps.setFetchSize(0);
stCache.closePreparedStatement(ps);
}
Index: SessionImpl.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/SessionImpl.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** SessionImpl.java 16 Feb 2003 01:55:05 -0000 1.21
--- SessionImpl.java 19 Feb 2003 02:02:10 -0000 1.22
***************
*** 719,723 ****
return null;
}
! else if ( type.isEntityType() ) {
return ( isTransient(value, earlyInsert, self) ) ? null : value;
}
--- 719,723 ----
return null;
}
! else if ( type.isEntityType() || type.isObjectType() ) {
return ( isTransient(value, earlyInsert, self) ) ? null : value;
}
***************
*** 2112,2116 ****
EntityEntry entry = getEntry(object);
return (entry!=null) ? entry.id : null;
! //return getPersister(object).getID(object);
}
}
--- 2112,2153 ----
EntityEntry entry = getEntry(object);
return (entry!=null) ? entry.id : null;
! }
! }
!
! public Serializable getEntityIdentifierIfNotUnsaved(Object object) throws HibernateException {
! if (object == null) {
! return null;
! }
! else {
! if (object instanceof HibernateProxy) {
! return HibernateProxyHelper.getLazyInitializer( (HibernateProxy) object ).getIdentifier();
! }
! else {
!
! EntityEntry entry = getEntry(object);
! if (entry!=null) {
! return entry.id;
! }
! else {
! ClassPersister persister = getPersister(object);
! Serializable id;
! try {
! // we only allow this case to support Session.update()
! id = persister.getIdentifier(object);
! }
! catch (HibernateException he) {
! // transient instance with no identifier property
! id = null;
! }
!
! Boolean isUnsaved = (id==null) ? Boolean.TRUE : interceptor.isUnsaved(object);
! if ( ( isUnsaved!=null && isUnsaved.booleanValue() ) || persister.isUnsaved(id) ) {
! throw new HibernateException(
! "object references an unsaved transient instance - save the transient instance before flushing"
! );
! }
! return id;
! }
! }
}
}
|