[
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira