Index: D:/workspaces/hibernate-ganymede/hibernate-3.2/src/org/hibernate/cfg/HbmBinder.java =================================================================== --- D:/workspaces/hibernate-ganymede/hibernate-3.2/src/org/hibernate/cfg/HbmBinder.java (revision 16010) +++ D:/workspaces/hibernate-ganymede/hibernate-3.2/src/org/hibernate/cfg/HbmBinder.java (working copy) @@ -1576,30 +1576,29 @@ Attribute metaAttribute = node.attribute( "meta-type" ); if ( metaAttribute != null ) { any.setMetaType( metaAttribute.getValue() ); - - Iterator iter = node.elementIterator( "meta-value" ); - if ( iter.hasNext() ) { - HashMap values = new HashMap(); - org.hibernate.type.Type metaType = TypeFactory.heuristicType( any.getMetaType() ); - while ( iter.hasNext() ) { - Element metaValue = (Element) iter.next(); - try { - Object value = ( (DiscriminatorType) metaType ).stringToObject( metaValue - .attributeValue( "value" ) ); - String entityName = getClassName( metaValue.attribute( "class" ), mappings ); - values.put( value, entityName ); - } - catch (ClassCastException cce) { - throw new MappingException( "meta-type was not a DiscriminatorType: " - + metaType.getName() ); - } - catch (Exception e) { - throw new MappingException( "could not interpret meta-value", e ); - } + } + + Iterator iter = node.elementIterator( "meta-value" ); + if ( iter.hasNext() ) { + HashMap values = new HashMap(); + org.hibernate.type.Type metaType = TypeFactory.heuristicType( any.getMetaType() ); + while ( iter.hasNext() ) { + Element metaValue = (Element) iter.next(); + try { + Object value = ( (DiscriminatorType) metaType ).stringToObject( metaValue + .attributeValue( "value" ) ); + String entityName = getClassName( metaValue.attribute( "class" ), mappings ); + values.put( value, entityName ); } - any.setMetaValues( values ); + catch (ClassCastException cce) { + throw new MappingException( "meta-type was not a DiscriminatorType: " + + metaType.getName() ); + } + catch (Exception e) { + throw new MappingException( "could not interpret meta-value", e ); + } } - + any.setMetaValues( values ); } bindColumns( node, any, isNullable, false, null, mappings );