[hibernate-issues] [Hibernate-JIRA] Created: (HHH-3970) One-to-one association must return null instead of proxy (or actual object).
Sandeep Vaid (JIRA)
noreply at atlassian.com
Thu Jun 18 02:53:33 EDT 2009
One-to-one association must return null instead of proxy (or actual object).
----------------------------------------------------------------------------
Key: HHH-3970
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3970
Project: Hibernate Core
Issue Type: Improvement
Affects Versions: 3.3.1
Reporter: Sandeep Vaid
Priority: Critical
In hibernate, presently one-to-one associations are fetched non-lazily...
I know that this is done because, hibernate requires to fire 1 sql to find whether proxy can be created or not...
and if it has to fire 1 sql, then why not to load one-to-one object itself in 1 sql instead of creating proxy of it (in 1 sql).
Consider my scenario..
Product has one-to-one with ProductBasic which has one-to-one with ProductTerm
Now i just queried for List of Products and i got say 300 product records.. (in 1 sql query)
In this case i don;t require ProductBasic and ProductTerm.... but as these are one-to-one associations, there are
compulsorily non-lazily fetched. Thus another 300 + 300 select queries are fired to get ProductBasic and ProductTerm
which is surely unacceptable as there are 600 extra sql's getting fired.. The situation may become worst if i
have many one-to-one associations in my domain tree.
I think hibernate code must be changed so that one-to-one associations should be not compulsorily non-lazily fetched....
One way i could think of it is, if user has not asked to fetch one-to-one association then instead of
loading one-to-one object (or creating proxy) simply null should be returned without firing any SQL...
Later when user asks for this one-to-one association, now fire 1 sql to get this association..
The major advantage of this approach is that if user has not asked for one-to-one association, no extra sql (unnecessary)
queries will be fired... (specially when retriving parent collection - e.q our scenario described above)..
--
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