[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] how to update entities with persisted entities
|
I'm guessing you want to be doing something like this:
//Loop through the groups
List<CharacteristicGroup> importGroups =
importData.getCharacterisicGroups();
for(int index = 0; index < importGroups.size(); index++) {
CharacteristicGroup importGroup = importGroups.get(index);
importGroup = updateWithPersistedCharacteristicGroup(importGroup);
importGroups.set(index, importGroup);
}
Leon Derks-2 wrote:
>
> I want the groups in my importData.getCharacterisicGroups() to be
> updated with the persisted id, or the newly assigned id.
>
> What I am seeing now, that only for new persited groups, the id is
> automatically updated (viewing importData.getCharacterisicGroups() in
> debugger perspective).
> But for groups that are already in de db (and had a result for
> characteristicGroupDAO.findGroupByExample(importGroup) ), the id is not
> updated and it stays 0.
> For this I do nothing extra.
>
> How is this possible, that the id is only updated for newly persisted
> groups.
>
> What I want is each group in importData.getCharacterisicGroups() to
> automatically be updated with the persisted group.
>
> Leon
>
> christopher delahunt wrote:
>> Hello Leon,
>>
>> I'm not sure I understand correctly. I'm guessing that ImportGroup,
>> if existing, is detached and contains changes that you want
>> persisted. I assume that findGroupByExample(importGroup) is just a
>> simple query or find method that returns the managed instance of
>> importGroup. The problem then would be that you pass this managed
>> copy into the makePersistent. Since the managed copy doesn't have the
>> changes, they are lost. You need to merge the detached copy into the
>> managed copy using the em.merge at some point.
>>
>> If this isn't the problem, please give more detail as to what data
>> isn't being persisted and how you are actually finding and persisting
>> your entities.
>>
>> Best Regards,
>> Chris
>>
>> Leon Derks wrote:
>>> I am seeing a behaviour which I can not explain.
>>>
>>> I have a list of groups (imported from an xml file)
>>> Then I loop through these groups and check if they already exist in
>>> de db.
>>> I want them to be updated with the persisted group.
>>>
>>> In my debugger perspective I see that ids of new groups are updated
>>> with the newly assigned id.
>>> But the groups that are already in the db are not updated with the
>>> persisted id.
>>>
>>> The makePersistent method does a persist if id == 0 or else the
>>> entity is merged.
>>>
>>> What I want is that all importGroups are updated with either the
>>> persisted id, or a newly assigned id.
>>> At the moment only new groups are updated with an id.
>>>
>>> How is this possible?
>>>
>>> See below for code.
>>>
>>>
>>> //Loop through the groups
>>> List<CharacteristicGroup> importGroups =
>>> importData.getCharacterisicGroups();
>>> for(CharacteristicGroup importGroup : importGroups) {
>>> importGroup = updateWithPersistedCharacteristicGroup(importGroup);
>>> }
>>>
>>> private CharacteristicGroup
>>> updateWithPersistedCharacteristicGroup(CharacteristicGroup
>>> importGroup) {
>>> CharacteristicGroup persistedGroup =
>>> characteristicGroupDAO.findGroupByExample(importGroup);
>>> if(persistedGroup != null) {
>>> importGroup = persistedGroup;
>>> }
>>> characteristicGroupDAO.makePersistent(importGroup);
>>> return importGroup;
>>> }
>
>
-----
---
http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland
http://www.eclipse.org/eclipselink/
EclipseLink , http://www.oracle.com/technology/products/ias/toplink/
TopLink
Wiki: http://wiki.eclipse.org/EclipseLink EclipseLink ,
http://wiki.oracle.com/page/TopLink TopLink
Forums: http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink ,
http://www.nabble.com/EclipseLink-f26430.html EclipseLink
Book: http://en.wikibooks.org/wiki/Java_Persistence Java Persistence
--
View this message in context: http://www.nabble.com/how-to-update-entities-with-persisted-entities-tp20398832p20440349.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.