[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] cascade=refresh does not work like expected
|
Hi Tom,
Is there also a combination with the @JoinFetch annotation in your test-case?
Kind Regards, Michael
-----Ursprüngliche Nachricht-----
Von: eclipselink-users-bounces@xxxxxxxxxxx [mailto:eclipselink-users-bounces@xxxxxxxxxxx] Im Auftrag von Tom Ware
Gesendet: Freitag, 24. Dezember 2010 17:10
An: EclipseLink User Discussions
Betreff: Re: [eclipselink-users] cascade=refresh does not work like expected
Hi Michael,
I cannot reproduce the problem on the object model I have that has similar
mappings. I see similar SQL, but the refresh itself works. Can you provide
some code you can be run to see the issue?
-Tom
Michael Simons wrote:
> Hi Tom,
>
> the data in the application is not refreshed. That's the problem. I did the SQL examination just to find the reason.
>
> Kind Regards, Michael
>
> -----Ursprüngliche Nachricht-----
> Von: eclipselink-users-bounces@xxxxxxxxxxx [mailto:eclipselink-users-bounces@xxxxxxxxxxx] Im Auftrag von Tom Ware
> Gesendet: Donnerstag, 23. Dezember 2010 20:40
> An: EclipseLink User Discussions
> Betreff: Re: [eclipselink-users] cascade=refresh does not work like expected
>
> Are you actually seeing that the data is not refreshed in your application, or
> are you just examining the SQL? (i.e. is the app not refreshing, or just not
> JOIN FETCHING on the refresh?)
>
> -Tom
>
> Michael Simons wrote:
>> Hello,
>>
>>
>>
>> [EL 2.1.1]
>>
>> We've got three classes Vehicle, Tour and TourPosition. A Vehicle has
>> zero, one or more Tours. A Tour has one none, one or more TourPositions
>> (the stops)
>>
>>
>>
>> So we declared
>>
>> Class Vehicle {
>>
>> @OneToMany(cascade={CascadeType./MERGE/, CascadeType./REFRESH/,
>> CascadeType./REMOVE/}, fetch=FetchType./LAZY/, mappedBy="leadTruck")
>>
>> @JoinFetch(value=JoinFetchType./OUTER/) *// Never remove this, or you
>> will regret it - believe me you will.*
>>
>> * private* List<Tour> tours = *new* ArrayList<Tour>(113);
>>
>> .
>>
>> }
>>
>>
>>
>> Class Tour {
>>
>> @OneToMany(cascade = CascadeType./ALL/, fetch = FetchType./LAZY/,
>> mappedBy = "tour")
>>
>> @JoinFetch(value=JoinFetchType./OUTER/)
>>
>> *private* List<TourPosition> positions = *new* ArrayList<TourPosition>
>> (113);
>>
>> .
>>
>> }
>>
>>
>>
>> When I call em.refresh (vehicle) I would have expected that the tours
>> and their positions are also refreshed, but they are not. The only
>> SQL-Statement that I get is:
>>
>> SELECT DISTINCT t1.vehicle_id, t1.measure_id, t1.jdo_version, .,
>> t0.tour_id, t0.filled_up, t0.tour_text, .
>>
>> FROM vehicle t1
>>
>> LEFT OUTER JOIN tour t0 ON (t0.vehicle_id = t1.vehicle_id)
>>
>> WHERE (t1.vehicle_id = ?)
>>
>>
>>
>> So, at least the TourPositions are _/not/_ refreshed.
>>
>>
>>
>> Is this a known issue/feature/bug?
>>
>> Do I miss anything?
>>
>> If it's a known bug, is it fixed in 2.1.2?
>>
>>
>>
>> Kind Regards and happy christmas, Michael
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users