openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "icarus (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OPENJPA-2483) Detached Entities and Lazy Loading behavior breaks portability
Date Wed, 12 Mar 2014 12:14:46 GMT
icarus created OPENJPA-2483:
-------------------------------

             Summary: Detached Entities and Lazy Loading behavior breaks portability
                 Key: OPENJPA-2483
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2483
             Project: OpenJPA
          Issue Type: Bug
          Components: jpa
            Reporter: icarus
            Priority: Critical


Hello everyone!

I’ve created this bug in the EclipseLink, Hibernate and OpenJPA bugtracker because I think
that the current situation is very unsatisfying for every developer that tries to develop
portable Java EE applications.

I know the JPA specification says about this:
_“When interoperability across vendors is required, the application must not use lazy loading”_

But is the current situation really necessary? Let me summarize the behavior on accessing
the relations of a detached entity among the different JPA vendors:

*OpenJPA:*
The getter methods returns always “null” in this case. No exception is thrown, and no
access to the database.
I could not find a possibility to change this behavior.

*EclipseLink*
By default EclipseLink opens a new connection to the database and lazily fetches the relations.
I could not find a possibility to change this behavior.

*Hibernate*
By default Hibernate throws LazyInitializationException.
Since Version 4.1.6 there is a configuration parameter called “hibernate.enable_lazy_load_no_trans”.
If set to true hibernate opens a read only session to the database and lazily fetches the
relations. (Same as eclipselink does)
This parameter is not mentioned in the official hibernate documentation. I found it by accident.

So 3 Vendors 3 different behaviors and no possibility to configure a behavior that is support
on all providers.

I just want to say that I do not prefer a specific solution. All 3 solutions have their advantages
and disadvantages. I do think however that this topic should be addressed by the JPA specification
and that a there should be a mandatory behavior in the future.

But for now could you (the jpa vendors) speak to another and agree on a common denominator?
For me as developer it would enough if I could configure this behavior on each jpa provider
with a vendor specific property. Important is only that there is one solution that is supported
by each provider.

Thanks for your time!




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message