From: <one...@us...> - 2003-02-03 10:28:50
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv20343/hibernate/impl Modified Files: SessionImpl.java Log Message: added warning in custom type made <parent> proxy-aware Index: SessionImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/SessionImpl.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** SessionImpl.java 2 Feb 2003 04:19:51 -0000 1.16 --- SessionImpl.java 3 Feb 2003 10:28:47 -0000 1.17 *************** *** 1351,1354 **** --- 1351,1358 ---- } + public Object instantiate(Class clazz, Serializable id) throws HibernateException { + return instantiate( factory.getPersister(clazz), id ); + } + public Object instantiate(ClassPersister persister, Serializable id) throws HibernateException { Object result = interceptor.instantiate( persister.getMappedClass(), id ); *************** *** 1470,1476 **** } ! public void addUninitializedEntity(Key key, Object object, LockMode lockMode) { addEntity(key, object); ! addEntry( object, LOADING, null, key.getIdentifier(), null, lockMode, true, null ); //temporary } --- 1474,1487 ---- } ! public Object proxyFor(Object impl) throws HibernateException { ! EntityEntry e = getEntry(impl); ! //can't use e.persister since it is null after addUninitializedEntity (when this method is called) ! ClassPersister p = getPersister(impl); ! return proxyFor( p, new Key(e.id, p), impl); ! } ! ! public void addUninitializedEntity(Key key, Object object, LockMode lockMode) throws HibernateException { addEntity(key, object); ! addEntry( object, LOADING, null, key.getIdentifier(), null, lockMode, true, null /*getPersister(object)*/ ); //temporary } *************** *** 1739,1743 **** interceptor.onLoad( object, id, hydratedState, persister.getPropertyNames(), types ); ! for ( int i=0; i<hydratedState.length; i++ ) hydratedState[i] = types[i].resolveIdentifier( hydratedState[i], this ); persister.setPropertyValues(object, hydratedState); TypeFactory.deepCopy(hydratedState, persister.getPropertyTypes(), persister.getPropertyUpdateability(), hydratedState); //after setting values to object --- 1750,1756 ---- interceptor.onLoad( object, id, hydratedState, persister.getPropertyNames(), types ); ! for ( int i=0; i<hydratedState.length; i++ ) { ! hydratedState[i] = types[i].resolveIdentifier( hydratedState[i], this ); ! } persister.setPropertyValues(object, hydratedState); TypeFactory.deepCopy(hydratedState, persister.getPropertyTypes(), persister.getPropertyUpdateability(), hydratedState); //after setting values to object |