[hibernate-issues] [Hibernate-JIRA] Created: (HHH-2172) Could not determine fecht owner exception with 3.2.0GA (worked in 3.2rc2)
Alexander Rupsch (JIRA)
noreply at atlassian.com
Mon Oct 23 12:39:04 EDT 2006
Could not determine fecht owner exception with 3.2.0GA (worked in 3.2rc2)
-------------------------------------------------------------------------
Key: HHH-2172
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2172
Project: Hibernate3
Type: Bug
Versions: 3.2.0.ga
Environment: Annotations 3.2.0GA (16.10.06)
Core 3.2.0GA (16.10.06)
Reporter: Alexander Rupsch
HI,
I have a named query like this:
<sql-query name="loadMDGraphJoined-AllPathFromAndToChildSlow">
<return-join alias="parent" property="goe.parent"/>
<return-join alias="child" property="goe.child"/>
<return alias="goe" class="com.ecg.mts.tsm.impl.domain.MasterDataEdge"/>
<![CDATA[
select
pa.id AS {parent.id},
pa.periodstart AS {parent.validPeriod.start},
pa.periodend AS {parent.validPeriod.end},
pa.shortdesc AS {parent.shortDesc},
pa.longdesc AS {parent.longDesc},
pa.name AS {parent.name},
pa.class AS {parent.class},
pa.clientid AS {parent.clientId},
ch.id AS {child.id},
ch.periodstart AS {child.validPeriod.start},
ch.periodend AS {child.validPeriod.end},
ch.shortdesc AS {child.shortDesc},
ch.longdesc AS {child.longDesc},
ch.name AS {child.name},
ch.class AS {child.class},
ch.clientid AS {child.clientId},
goe.parent_id AS {goe.parent},
goe.child_id AS {goe.child},
goe.id AS {goe.id}
from tsm_master_data pa, tsm_master_data ch,
(select DISTINCT ROWID, goe.* from tsm_master_data_edge goe
start with parent_id in (
( /* Selection der Pfade nach "oben" */
SELECT DISTINCT goe2.parent_id
FROM tsm_master_data_edge goe2
START WITH goe2.child_id = :parentId
OR goe2.child_id IN ((SELECT DISTINCT child_id
FROM tsm_master_data_edge
START WITH parent_id = :parentId
CONNECT BY PRIOR parent_id = child_id))
CONNECT BY PRIOR goe2.parent_id = goe2.child_id
)
) or parent_id = :parentId
connect by prior goe.child_id = goe.parent_id) goe
where pa.id = goe.parent_id
and ch.id = goe.child_id
]]>
</sql-query>
And I call it like this (using spring):
List items = getHibernateTemplate().findByNamedQueryAndNamedParam(
"loadMDGraphJoined-AllPathFromAndToChildSlow", "parentId", id);
This works fine with Core 3.2.0rc2 and annotations 3.2.0rc1. After switching to 3.2.0GA I got the following exception:
org.springframework.orm.hibernate3.HibernateSystemException: Could not determine fetch owner : null; nested exception is org.hibernate.HibernateException: Could not determine fetch owner : null
org.hibernate.HibernateException: Could not determine fetch owner : null
at org.hibernate.loader.custom.CustomLoader.determineAppropriateOwnerPersister(CustomLoader.java:250)
at org.hibernate.loader.custom.CustomLoader.<init>(CustomLoader.java:150)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1688)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:150)
at org.springframework.orm.hibernate3.HibernateTemplate$35.doInHibernate(HibernateTemplate.java:947)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.findByNamedQueryAndNamedParam(HibernateTemplate.java:938)
at org.springframework.orm.hibernate3.HibernateTemplate.findByNamedQueryAndNamedParam(HibernateTemplate.java:928)
at com.ecg.mts.tsm.impl.persistence.HibernateMasterDataRepository.getMasterDataGraphComplete(HibernateMasterDataRepository.java:116)
at com.ecg.mts.tsm.test.persistence.MasterDataRepositoryTestBase.testGetMasterDataGraphComplete(MasterDataRepositoryTestBase.java:201)
at com.ecg.mts.tsm.test.persistence.hibernate.HibernateMasterDataRepositoryTest.testGetMasterDataGraphComplete(HibernateMasterDataRepositoryTest.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
The variable "entityName" in CustomerLoader.determineAppropriateOwnerPersister() ist null because the parameter ownerDescriptor ist null. This is because EntityFetchReturn.getOwner also returns null at line 146.
--
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