[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] java.lang.IllegalArgumentException

Hi, Chris!
Thank you for your answer

You are perfectly right. The ejb3.OebsView class has the oebsId attribute
which is mapped as one to one to the ejb3.Oebskeyfields class. The type of
oebsId is String.
You mean I have to change the type of oebsId from String to ejb3.OebsView?
But these classes are generated by workbench so I can not understand your
tip.
Sorry.

Regards,
Dmitry



Christopher Delahunt wrote:
> 
> Hello Dmitry,
> 
> The problem isn't in the ejb3.Oebskeyfields, but in a oebsId mapping in 
> the ejb3.OebsView class.  I believe you have a OneToOne mapping to this
> attribute, and EclipseLink then has to try and put a Oebskeyfields 
> object into a String - hence the exception.
> 
> Please check your mappings and attribute types in the Oebskeyfields 
> entity and post them if this doesn't help.
> 
> Best Regards,
> Chris
> 
> dmitryerkin wrote:
>> Hi
>> I have got the exception which is so strange for me.
>> Here is the log:
>>
>> Exception Description: Trying to set value [ejb3.Oebskeyfields@ff00ff0]
>> for
>> instance variable [oebsId] of type [java.lang.String] in the object.  The
>> specified object is not an instance of the class or interface declaring
>> the
>> underlying field, or an unwrapping conversion has failed.
>> Internal Exception: java.lang.IllegalArgumentException
>> Mapping: org.eclipse.persistence.mappings.OneToOneMapping[oebsId]
>> Descriptor: RelationalDescriptor(ejb3.OebsView -->
>> [DatabaseTable(OEBS_VIEW)])
>>
>> The ejb3.Oebskeyfields has not got the oebsId attribute.
>> This is truth but my code is trying to get the instance of another class
>> ejb3.OebsView by invoking the next() method of cursor.
>> These classes are joined as one to one by the oebsId attribute.
>>
>> Here is my code:
>>
>> ...
>> ReadAllQuery queryByTime = new ReadAllQuery(OebsView.class, where);
>> queryByTime.useScrollableCursor();
>> ...
>> cursorByTimeAndOrganizationId = (ScrollableCursor)
>> uow.executeQuery(queryByTime);
>> ...
>> Vector<ejb3.OebsView> oebsList = new Vector<ejb3.OebsView>();
>> oebsList = cursorByTimeAndOrganizationId.next(q);
>> ...
>>
>> I can not understand at all why does it try to set value of the
>> ejb3.Oebskeyfields class?
>>
>>
>> Regards
>> Dmitry
>>
>>
>>
>>   
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
> 
> 

-- 
View this message in context: http://www.nabble.com/java.lang.IllegalArgumentException-tp19488247p19493182.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.