Emir,
On Fri, 25 Feb 2005 11:06:17 +0100, [EMAIL PROTECTED] wrote:
>
>Werner,
>I have two different mappings.
>It's the problem with XML transient field and not JDO. The JDO part seems to
>work fine.
>I would like to here from Keith.
I tend to disagree. FOr your code to work, the marshaller (during marshalling)
will call a getter method on your lazy-loaded object. And that's where teh
problem seems to be: if you are not within the original transaction anymore,
SingleProxy (the class managing lazy-loading objects) will complain that it
does not have access to a valid transaction anymore.
Is there a chance you could invoke Marshaller.marshall() before
committing/rolling back your transaction ?
Werner
>Here's a pseudo code and explanation:
>1. products have items field. in JDO Mapping items are marked as lazy-loaded
>for products.
>In the XML mapping file, I have this items field of products marked as
>transient.
>when i try to do this:
>
>product = db.load(...);
>marshaller.marshall(product);
>
>I got exception that trans is not in progress - this is because lazy-loading
>implementation (this Relational collection or whatever) doesn't allow us to
iterate lazy-loaded fields out of transaction.
>
>Now, if I do this:
>
>product = db.load(...);
>product.setItems(null);
>marshaller.marshall(product);
>
>everything works fine.
>
>Later I can write a unit-test and submit a report to buzilla. I'm almost sure
>that this is a bug on XML side, just want to here from Keith.
>
>Regards,
>Emir
>
>
>
>
>----- Original Message -----
>From: Werner Guttmann <[EMAIL PROTECTED]>
>Date: Friday, February 25, 2005 11:05 am
>Subject: Re: [castor-user] [XML] Why Castor iterates transient collection
>field?
>
>>
>> Emir,
>>
>> can you please provide us with a short code sample that shows us
>> what you are trying to do.
>>
>> In general, Castor JDO does not have support for transient
>> attributes as it stands right now. There's a bug (1210) out there
>> that will (once finished) address
>> this problem, but I have not been able to finish this in time for
>> the 0.9.6 release.
>>
>> Regards
>> Werner
>>
>> On Fri, 25 Feb 2005 10:00:56 +0100, [EMAIL PROTECTED] wrote:
>>
>> >
>> >Keith,
>> >I have a class which is a JDO and it has a collection field. I
>> load this class' objects from database using Castor JDO and then
>> try to marshall it using
>> Castor XML. One of the fields in my class is a collection field
>> which is lazy loaded. When I marshall the class I don't need this
>> field be marshalled, so I've
>> set it in XML mapping as transient. But, when I try to marshall
>> it, the Castor raises a Transaction not in progress! exception.
>> This is related to JDO's lazy
>> loading. When I setLazyLoadedCollection(null) prior to marshalling
>> I got no expcetion.
>> >
>> >Why Castor tries to iterate this transient collection?
>> >
>> >Regards,
>> >Emir
>> >
>> >
>> >
>> >-----------------------------------------------------------
>> >If you wish to unsubscribe from this mailing, send mail to
>> >[EMAIL PROTECTED] with a subject of:
>> > unsubscribe castor-user
>> >
>>
>>
>>
>> -----------------------------------------------------------
>> If you wish to unsubscribe from this mailing, send mail to
>> [EMAIL PROTECTED] with a subject of:
>> unsubscribe castor-user
>>
>>
>
>
>
>-----------------------------------------------------------
>If you wish to unsubscribe from this mailing, send mail to
>[EMAIL PROTECTED] with a subject of:
> unsubscribe castor-user
>
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user