[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2690) Cascade delete and ternary association after upgrade
Carl Gilbert (JIRA)
noreply at atlassian.com
Wed Jul 4 14:00:52 EDT 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_27408 ]
Carl Gilbert commented on HHH-2690:
-----------------------------------
The varHolderMap in the DBVariant class is the one that causes the problem. When I try to delete a VarCollHolder from it it excepts.
> Cascade delete and ternary association after upgrade
> ----------------------------------------------------
>
> Key: HHH-2690
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2690
> Project: Hibernate3
> Issue Type: Bug
> Components: core
> Affects Versions: 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.4.sp1
> Environment: hsqldb, jvm 1.6.0_01-ea, ubuntu
> Reporter: Przemek Dyk
> Attachments: manytest.zip
>
>
> My classes:
> public class Product {
> private long id;
> private String name;
> private Map/*<Attribute,AttributeValue>*/ attributeValues;
> //getters/setters/hashcode/equals
> }
> public class AttributeValue {
> private long id;
> private String value;
> private Product product;
> private Attribute attribute;
> //getters/setters/hashcode/equals
> }
> public class Attribute {
> private long id;
> private String name;
> //getters/setters/hashcode/equals
> }
> Fragment of mapping:
> <class name="Product">
> <id name="id" column="id" type="long" unsaved-value="0">
> <generator class="native"/>
> </id>
> <property name="name" not-null="true"/>
> <map name="attributeValues" lazy="true" inverse="false" cascade="all-delete-orphan">
> <key column="product_id" not-null="true"/>
> <map-key-many-to-many column="attribute_id" class="Attribute"/>
> <one-to-many class="AttributeValue"/>
> </map>
> </class>
> ... and my exception after upgrading hibernate in my application.
> 2007-06-27 20:08:54 org.hibernate.property.BasicPropertyAccessor$BasicGetter get
> SEVERE: IllegalArgumentException in class: com.mycompany.Attribute, getter method of property: id
> org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.mycompany.Attribute.id
> at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171)
> at org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:183)
> at org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3591)
> at org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3307)
> at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:181)
> at org.hibernate.engine.ForeignKeys$Nullifier.isNullifiable(ForeignKeys.java:137)
> at org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:69)
> at org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:47)
> at org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity(DefaultDeleteEventListener.java:248)
> at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:141)
> at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:775)
> at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:758)
> at org.hibernate.engine.CascadingAction$2.cascade(CascadingAction.java:121)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
> at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at org.hibernate.event.def.DefaultDeleteEventListener.cascadeBeforeDelete(DefaultDeleteEventListener.java:307)
> at org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity(DefaultDeleteEventListener.java:246)
> at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:141)
> at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:52)
> at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:766)
> at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:744)
> I've tried many versions of hibernate using test from attachment
> ( mvn -Dhibernate.version=<version> clean compile test ) and I think that
> bug was introduced between 3.2.0.ga and 3.2.1.ga
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list