[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-874) org.hibernate.AssertionFailure: null owner only with EntityMode.DOM4J

Steve Ebersole (JIRA) noreply at atlassian.com
Fri Jan 19 08:14:44 EST 2007


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-874?page=all ]

Steve Ebersole updated HHH-874:
-------------------------------

    Fix Version: entity-modes
                     (was: 3.2.2)

> org.hibernate.AssertionFailure: null owner only with EntityMode.DOM4J
> ---------------------------------------------------------------------
>
>          Key: HHH-874
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-874
>      Project: Hibernate3
>         Type: Bug

>   Components: core
>     Versions: 3.1 beta 2
>  Environment: Hibernate up to 3.1 beta 2, SQL Server
>     Reporter: Martin Caslavsky
>      Fix For: entity-modes

>
>
> ERROR - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
> org.hibernate.AssertionFailure: null owner
> 	at org.hibernate.collection.PersistentElementHolder.<init>(PersistentElementHolder.java:61)
> 	at org.hibernate.type.SetType.instantiate(SetType.java:23)
> 	at org.hibernate.engine.CollectionLoadContext.getLoadingCollection(CollectionLoadContext.java:101)
> 	at org.hibernate.loader.Loader.readCollectionElement(Loader.java:990)
> 	at org.hibernate.loader.Loader.readCollectionElements(Loader.java:635)
> 	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:579)
> 	at org.hibernate.loader.Loader.doQuery(Loader.java:689)
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:223)
> 	at org.hibernate.loader.Loader.loadCollection(Loader.java:1916)
> 	at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
> 	at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520)
> 	at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
> 	at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1555)
> 	at org.hibernate.type.CollectionType.getCollection(CollectionType.java:501)
> 	at org.hibernate.type.CollectionType.resolveKey(CollectionType.java:335)
> 	at org.hibernate.type.CollectionType.resolve(CollectionType.java:329)
> 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:113)
> 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
> 	at org.hibernate.loader.Loader.doQuery(Loader.java:717)
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:223)
> 	at org.hibernate.loader.Loader.loadEntity(Loader.java:1782)
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47)
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41)
> 	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2705)
> 	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
> 	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346)
> 	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123)
> 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:177)
> 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
> 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:774)
> 	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:746)
> 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
> 	at org.hibernate.type.EntityType.resolve(EntityType.java:303)
> 	at org.hibernate.type.EntityType.nullSafeGet(EntityType.java:217)
> 	at org.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:93)
> 	at org.hibernate.impl.IteratorImpl.next(IteratorImpl.java:120)
> 	at ProduktCon.result(ProduktCon.java:42)
> 	at AbstractCon.go(AbstractCon.java:114)
> 	at Datacon.main(Datacon.java:31)
> ProduktCon.java:
>     protected void result() {
>         Session session4 = factory.openSession().getSession(EntityMode.DOM4J);
>         Query query = session4.createQuery("select p from Produkt as p");
>         for (Iterator it = query.iterate(); it.hasNext();) {
>             Element e = (Element) it.next(); // LINE 42
>         }
>     }
> Produkt.hbm.xml:
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
> <hibernate-mapping>
>     <class name="Produkt" table="eshop_prod" node="product">
>         <id name="produkt" type="string" unsaved-value="any" column="produkt" node="@id"/>
>         <property name="cislo" column="Katalogove_cislo" node="@cislo"/>
>         <property name="popis" column="popis" node="name"/>
>         <property name="poznamka" column="poznamka" node="anotace"/>
>         <property name="text" column="text" node="descr"/>
>         <property name="zaruka" column="zaruka" node="@zaruka"/>
>         <property name="vyrobce" column="vyrobce" node="vyrobce"/>
>         <property name="dodavatel" column="dodavatel" node="dodavatel"/>
>         <property name="zarazeni" column="zarazeni" node="@zarazeni" />
>         <property name="dostupnost" column="Carovy_kod_vlastni" node="@dostupnost" />
>         <set name="kategorie" embed-xml="true" node=".">
>             <key column="produkt"/>
>             <one-to-many class="Kategorie"/>
>         </set>
>         <set name="related" embed-xml="true" node="." where="typ_souvislosti=0">
>             <key column="produkt"/>
>             <one-to-many class="Related"/>
>         </set>
>         <set name="item" embed-xml="true" node=".">
>             <key column="vyrobek"/>
>             <one-to-many class="Item"/>
>         </set>
>         <set name="variant" embed-xml="true" node=".">
>             <key column="prod_id"/>
>             <one-to-many class="Variant"/>
>         </set>
>     </class>
> </hibernate-mapping>
> Last executed SQL statement:
> Hibernate: select variant0_.prod_id as prod5_1_, variant0_.produkt as produkt1_, variant0_.produkt as produkt4_0_, variant0_.Katalogove_cislo as Katalogove2_4_0_, variant0_.Udaj_1 as Udaj3_4_0_, variant0_.Udaj_2 as Udaj4_4_0_ from data0001.dbo.eshop_variant variant0_ where variant0_.prod_id=?
> This error occurs only with EntityMode.DOM4J.
> Also when removed <set name="variant" ... > everything works OK.

-- 
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