Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister
In directory sc8-pr-cvs1:/tmp/cvs-serv15041/hibernate/persister
Modified Files:
AbstractEntityPersister.java
Log Message:
allow polymorphic embedded composite-id classes
add a test for outer-join=true
Index: AbstractEntityPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/AbstractEntityPersister.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** AbstractEntityPersister.java 15 Apr 2003 04:19:16 -0000 1.21
--- AbstractEntityPersister.java 17 Apr 2003 08:09:12 -0000 1.22
***************
*** 40,43 ****
--- 40,44 ----
import net.sf.hibernate.sql.SelectFragment;
import net.sf.hibernate.type.AbstractComponentType;
+ import net.sf.hibernate.type.ComponentType;
import net.sf.hibernate.type.IdentifierType;
import net.sf.hibernate.type.Type;
***************
*** 236,240 ****
public void setIdentifier(Object object, Serializable id) throws HibernateException {
! if (identifierSetter!=null) {
identifierSetter.set(object, id);
}
--- 237,245 ----
public void setIdentifier(Object object, Serializable id) throws HibernateException {
! if (hasEmbeddedIdentifier) {
! ComponentType copier = (ComponentType) identifierType;
! copier.setPropertyValues( object, copier.getPropertyValues(id) );
! }
! else if (identifierSetter!=null) {
identifierSetter.set(object, id);
}
***************
*** 245,249 ****
*/
public Object instantiate(Serializable id) throws HibernateException {
! if (hasEmbeddedIdentifier) {
return id;
}
--- 250,254 ----
*/
public Object instantiate(Serializable id) throws HibernateException {
! if ( hasEmbeddedIdentifier && id.getClass()==mappedClass ) {
return id;
}
|