[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[eclipselink-users] how to update entities with persisted entities
|
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;
}