Re: store collections
Armin Waibel <[email protected]>
| Newsgroups | gmane.comp.jakarta.ojb.user |
|---|---|
| Message-ID | <[email protected]> |
Abid Hussain wrote:
> Hi Armin,
>
>> How can it happen that you try to insert ojb-proxied objects? If the
>> proxy object isn't materialized OJB assume that nothing has changed
>> and skip the store.
> Because I wanted to copy values from one database to another. So I first
> retrieved the values from the local DB and then tried to store them in
> the live-system DB.
>
> But when the problem only comes up with proxied objects then it is all
> right, I then just let the object being materialized by using the
> debug()-method and then copy it.
If you call object.hashCode() the object should be materialized too.
> Like Josef said, the code seems to be ok.
>
yep!
regards,
Armin
> Thanks a lot for quick help.
>
> Best regards,
>
> Abid
>
>>
>>> Because, when I change the code to this:
>>> public void storeAll(Collection valueObjects) {
>>>
>>> if (valueObjects != null) {
>>> broker.beginTransaction();
>>> for (Iterator i = valueObjects.iterator(); i.hasNext();)
>>> Object valueObject = i.next();
>>> --> logger.debug(valueObject);
>>> broker.store(valueObject, ObjectModification.INSERT);
>>> }
>>> broker.commitTransaction();
>>> }
>>> ...it works because the object is loaded from the database when
>>> calling the debug()-method.
>>> It seems that the broker has nothing to store in the method without
>>> the logging-statement seen below.
>>>
>>> But is there any other way to solve this problem?
>>>
>>> Regards,
>>>
>>> Abid
>>>
>>> Abid Hussain schrieb:
>>>> Hi everybody,
>>>>
>>>> I want to implement a method which stores not only one object but a
>>>> collection of objects.
>>>> I tried this one:
>>>> public void storeAll(Collection valueObjects) {
>>>>
>>>> if (valueObjects != null) {
>>>> broker.beginTransaction();
>>>> for (Iterator i = valueObjects.iterator(); i.hasNext();)
>>>> Object valueObject = i.next();
>>>> broker.store(valueObject, ObjectModification.INSERT);
>>>> }
>>>> broker.commitTransaction();
>>>> }
>>>> ...but it doesn't work, not one object is stored into the database.
>>>>
>>>> Anybody got an idea?
>>>>
>>>> Regards,
>>>>
>>>> Abid
>>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>