[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