Hi,
I am bit puzzled with this. I am looking at a codebase, where there are multiple joined-subclass mappings (in separate hbm.xml files) which map to same table. For union-subclass, we correctly get exception for duplicate mapping. But for joined-subclass it allows multiple mappings to same table. For Joined subclass, the table mapping is added with following method call.
Table mytable = mappings.addTable( schema, catalog, getClassTableName( joinedSubclass, node, schema, catalog, null, mappings ), getSubselect( node ), false
For union-subclass, the mapping gets added with
Table mytable = mappings.addDenormalizedTable( schema, catalog, getClassTableName(unionSubclass, node, schema, catalog, denormalizedSuperTable, mappings ), unionSubclass.isAbstract() != null && unionSubclass.isAbstract(), getSubselect( node ), denormalizedSuperTable );
mappings.addTable doesnt throw exception if the table mapping already exists.
Is the behaviour for joined subclass by design? or its a bug?
|