[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2277) bidirectional <key-many-to-one> both lazy=false fetch=join lead to infinite loop

Steve Ebersole (JIRA) noreply at atlassian.com
Mon Jan 22 11:00:44 EST 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2277?page=comments#action_25885 ] 

Steve Ebersole commented on HHH-2277:
-------------------------------------

Findings:

This appears to be limited to sceanrios where (1) the composite pk is non-embedded and (2) the eager fetching is defined at the metadata level and (3) the entity retrieval is attempted via a load.

As a few examples of extra tests I ran that *did* work:
1) Using the same metadata, etc as org.hibernate.test.keymanytoone.KeyManyToOneTestCase
1.a) eager fetching via HQL
1.b) eager fetching via Criteria
2) Using the same metadata as org.hibernate.test.keymanytoone.KeyManyToOneTestCase except for non-laziness on the key-many-to-one mappings, all access paths worked.
3) Using an embedded composite identifier (instead of a pk-class) all access paths worked.

Thus it would appear that there exists some difference in how UniqueEntityLoader#load operates as compared to the more generic Loader#doQueryAndInitializeNonLazyCollections which causes this problem. 

My initial attempts to fix centered on the ComponentType#resolve method, which met with limited success.  The assumption there being that the issue stems from the fact that components do not take advantage of two-phase loading.


> bidirectional <key-many-to-one> both lazy=false fetch=join lead to infinite loop
> --------------------------------------------------------------------------------
>
>          Key: HHH-2277
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2277
>      Project: Hibernate3
>         Type: Bug

>   Components: core
>     Versions: 3.2.1
>     Reporter: Emmanuel Bernard
>     Assignee: Steve Ebersole
>      Fix For: 3.2.2

>
>


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