[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1663?page=all ]
Steve Ebersole closed HHH-1663:
-------------------------------
Resolution: Fixed
fixed on trunk and 3.2 branch
<any/> with collection will produce "AssertionFailure:
collection was not processed by flush()"
-----------------------------------------------------------------------------------------------
Key: HHH-1663
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1663
Project: Hibernate3
Type: Bug
Components: core
Versions: 3.0.5, 3.1.3
Environment: Hibernate 3.1.3, Oracle 9.0.1
Reporter: Robert Herschke
Assignee: Steve Ebersole
Fix For: 3.2.1
Attachments: AssertionFailureTest.zip
I have the following mapping:
<class name="A">
<id name="idx">
<generator class="uuid"/>
</id>
<property name="test"/>
<any name="any" id-type="string" meta-type="string"
cascade="none">
<column name="any_type"/>
<column name="any_id"/>
</any>
</class>
and:
<class name="B">
<id name="idx">
<generator class="uuid"/>
</id>
<set name="as">
<key column="B_as_idx" not-null="false"/>
<one-to-many class="A"/>
</set>
</class>
Now I do the following:
At first I like to create some objects:
Session s = sf.openSession();
Transaction tx = s.beginTransaction();
A a = new A();
Serializable idx = s.save(a);
B b = new B();
s.save(b);
a.setAny(b);
s.update(a);
b.getAs().add(a);
s.update(b);
tx.commit();
s.close();
At next I like to modify A:
s = sf.openSession();
tx = s.beginTransaction();
A a2 = (A)s.get(A.class, idx);
a2.setTest("hallo!");
s.update(a2);
tx.commit();
s.close();
And it crashes at the second commit() with:
Exception in thread "main" org.hibernate.AssertionFailure: collection was not
processed by flush()
at org.hibernate.engine.CollectionEntry.postFlush(CollectionEntry.java:144)
at
org.hibernate.event.def.AbstractFlushingEventListener.postFlush(AbstractFlushingEventListener.java:305)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:28)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:324)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:86)
at test.Test.main(Test.java:53)
I've attached a testcase, but please change the hibernate.ora.cfg.xml with your
parameters.
--
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira