Seems like this does the trick
if(hollowObject.getPersistenceState() == PersistenceState.HOLLOW){
ObjectIdQuery query = new
ObjectIdQuery(hollowObject.getObjectId());
List<HollowObjectType> resultSet =
getDataContext().performQuery(query);
}
So, perhaps I will end-up in adding a layer that between Wicket and Cayenne
that (a) Checks if object is HOLLOW, (b) Inflate, if 'a' is true.
Now, what is the impact on performance due to this layer... I am a bit
skeptical because I hope this should be using CACHE and not actually
querying DB. See Here [1].
[1]
http://cayenne.apache.org/doc30/api/org/apache/cayenne/query/ObjectIdQuery.html
Thanks
Nishant
On Fri, Apr 2, 2010 at 12:57 AM, Nishant Neeraj <
nishant.has.a.questio..mail.com> wrote:
> Thanks for the reply.
> Yes, Wicket does serialize/de-serialize objects to/from session-store...
> so, do I need to explicitly inflate the objects or there is a way to make
> sure deserialization occurs properly?
>
> Thanks
> Nishant
>
>
> On Fri, Apr 2, 2010 at 12:38 AM, Andrus Adamchik <an....bjectstyle.org<andrus@objectstyle.org>
> > wrote:
>
>> I haven't used Wicket, but is there (de)serialization of objects involved
>> when rendering a form and then submitting it back? This might result in
>> turning an object to a hollow state. The last observation may be due to the
>> object deserialized outside of its context...
>>
>> Andrus
>>
>>
>> On Apr 1, 2010, at 9:28 PM, Nishant Neeraj wrote:
>>
>> Also, when I "touch" (call getXXX) on the object it return empty string.
>>>
>>> On Thu, Apr 1, 2010 at 11:29 PM, Nishant Neeraj <nishant....mail.com
>>> >wrote:
>>>
>>> Hi,
>>>>
>>>> I am using Cayenne with Wicket.
>>>>
>>>> There are situations when I see object's persistence state HOLLOW.
>>>> Specially, when I have committed something on a page, say by form
>>>> submission, .... then clicked browser back button to come back to the
>>>> same
>>>> page and try to resubmit the form.
>>>>
>>>> The problem is, when resubmitting, instead of over-writing the same
>>>> object.. it is trying to insert it in DB.. but since it has unique key
>>>> that
>>>> conflicts which previous commit, MySQL throws an exception.
>>>>
>>>> I wanted to know what are the situations when a data object is assigned
>>>> HOLLOW?
>>>>
>>>>
>>>> Thanks
>>>> Nishant
>>>>
>>>>
>>>>
>>>>
>>
>
This archive was generated by hypermail 2.0.0 : Thu Apr 01 2010 - 18:46:43 EDT