[hibernate-commits] Hibernate SVN: r18569 - core/trunk/core/src/main/java/org/hibernate/cfg.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Sat Jan 16 16:04:35 EST 2010
Author: steve.ebersole at jboss.com
Date: 2010-01-16 16:04:34 -0500 (Sat, 16 Jan 2010)
New Revision: 18569
Modified:
core/trunk/core/src/main/java/org/hibernate/cfg/HbmBinder.java
Log:
HHH-4726 - Add support for delete-orphan cascading to <one-to-one/>
Modified: core/trunk/core/src/main/java/org/hibernate/cfg/HbmBinder.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/cfg/HbmBinder.java 2010-01-16 20:27:04 UTC (rev 18568)
+++ core/trunk/core/src/main/java/org/hibernate/cfg/HbmBinder.java 2010-01-16 21:04:34 UTC (rev 18569)
@@ -1621,7 +1621,9 @@
String cascade = node.attributeValue( "cascade" );
if ( cascade != null && cascade.indexOf( "delete-orphan" ) >= 0 ) {
if ( !manyToOne.isLogicalOneToOne() ) {
- throw new MappingException( "many-to-one attributes do not support orphan delete: " + path );
+ throw new MappingException(
+ "many-to-one attribute [" + path + "] does not support orphan delete as it is not unique"
+ );
}
}
}
@@ -1688,6 +1690,15 @@
oneToOne.setPropertyName( node.attributeValue( "name" ) );
oneToOne.setReferencedEntityName( getEntityName( node, mappings ) );
+
+ String cascade = node.attributeValue( "cascade" );
+ if ( cascade != null && cascade.indexOf( "delete-orphan" ) >= 0 ) {
+ if ( oneToOne.isConstrained() ) {
+ throw new MappingException(
+ "one-to-one attribute [" + path + "] does not support orphan delete as it is constrained"
+ );
+ }
+ }
}
public static void bindOneToMany(Element node, OneToMany oneToMany, Mappings mappings)
More information about the hibernate-commits
mailing list