illegal try associate collection twin open sessions
i'm perplexing supplement pojo collection another pojo. i'm certain i'm origination unequivocally ridiculous mistake somewhere along lines nonetheless i can't figure out solve it.
i have pojo lookuptable contains list columns:
public category lookuptable {
private enlarged id;
// some-more properties here...
private list<column> columns;
open vacant addcolumn(column column) {
this.columns.add(column);
}
// some-more methods here...
}
in hibernate settlement i have:
<class name="lookuptable" table="arr_lookup_table">
<id name="id" column="id">
<generator class="native"/>
</id>
<!-- properties here -->
<bag name="columns" cascade="all,delete-orphan" access="field">
<key column="lookup_table" not-null="true"/>
<one-to-many class="column"/>
</bag>
</class>
<class name="column" table="arr_lookup_column">
<id name="id" column="id">
<generator class="native"/>
</id>
<!-- properties here -->
</class>
in open config record i have:
<tx:advice id="txadvice" transaction-manager="txmanager">
<tx:attributes>
<tx:method name="*" propagation="required"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="managers" expression="execution(public * com.foo.*manager.*(..))"/>
<aop:advisor advice-ref="txadvice" pointcut-ref="managers"/>
</aop:config>
and finally formula where fails within manager category (com.foo.lookuptablemanager):
public vacant addcolumntotable(column column, enlarged tableid) {
lookuptable lookuptable = this.lookuptabledao.findbyid(tableid);
lookuptable.addcolumn(column);
this.lookuptabledao.saveorupdate(lookuptable);
}
the non-static lookuptabledao here refers rudimentary dao category extends hibernatedaosupport.
the blunder i is:
org.hibernate.hibernateexception: illicit try associate collection twin open sessions
during org.hibernate.collection.abstractpersistentcollection.setcurrentsession(abstractpersistentcollection.java:410)
during org.hibernate.event.def.onupdatevisitor.processcollection(onupdatevisitor.java:43)
during org.hibernate.event.def.abstractvisitor.processvalue(abstractvisitor.java:101)
during org.hibernate.event.def.abstractvisitor.processvalue(abstractvisitor.java:61)
during org.hibernate.event.def.abstractvisitor.processentitypropertyvalues(abstractvisitor.java:55)
during org.hibernate.event.def.abstractvisitor.process(abstractvisitor.java:123)
during org.hibernate.event.def.defaultsaveorupdateeventlistener.performupdate(defaultsaveorupdateeventlistener.java:293)
during org.hibernate.event.def.defaultsaveorupdateeventlistener.entityisdetached(defaultsaveorupdateeventlistener.java:223)
during org.hibernate.event.def.defaultsaveorupdateeventlistener.performsaveorupdate(defaultsaveorupdateeventlistener.java:89)
during org.hibernate.event.def.defaultsaveorupdateeventlistener.onsaveorupdate(defaultsaveorupdateeventlistener.java:70)
during org.hibernate.impl.sessionimpl.firesaveorupdate(sessionimpl.java:507)
during org.hibernate.impl.sessionimpl.saveorupdate(sessionimpl.java:499)
during org.hibernate.impl.sessionimpl.saveorupdate(sessionimpl.java:495)
during com.foo.abstractdao.saveorupdate(abstractdao.java:29)
during com.foo.lookuptablemanager.addcolumntotable(lookuptablemanager.java:338)
... etc ...
ok, i know simple summary i'm getting. nonetheless i don't know where i second session.... anyone assistance me this?
i'm controlling hibernate 3.2.6.ga, open 2.5.5 tomcat 6.0
Comments
Post a Comment