[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] [EL 2.3.0] QueryHints.REFRESH ignores CascadePolicy.NoCascading
|
Hi Michael,
If EclipseLink is refreshing objects that are not yet loaded, that is a bug.
Please have a look at this bug. It may be related to your problem.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=347190
-Tom
Michael Simons wrote:
Hello,
I noticed, that with EclipseLink 2.3.0 (or 2.2.0) the behavior of
QueryHints.REFRESH has changed.
It seems, that not only the objects from the query will be refreshed
now, but also all cascading references within that objects,
even if these objects haven’t been loaded yet.
In some cases, I don't want to refresh all references because that leads
to a high performance loss.
I tried to use QueryHints.REFRESH_CASCADE (CascadePolicy.NoCascading)
but this makes no difference.
It still refreshes every referenced object.
Example:
Query q = getEntityManager().createQuery("SELECT x FROM DeliveryAddress x");
q.setHint(QueryHints.REFRESH, "true");
q.setHint(QueryHints.REFRESH_CASCADE, CascadePolicy.NoCascading);
@Entity
@Table(name = "delivery_address")
public class DeliveryAddress {
...
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "lcation_id", unique = true, nullable
= false)
private Location location = null;
...
}
The query will refresh the "Location" entry too.
BTW, is there a kind of a specification for the QueryHints, that
describes how a query has to behave when a hint is set?
Kind Regards, Michael
------------------------------------------------------------------------
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users