[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] java.lang.IllegalArgumentException
|
Hi, Chris
You helped me a lot, thanks!
I followed your tip and it works now
Regards,
Dmitry
Christopher Delahunt wrote:
>
> Hi Dmitry,
>
> You must have a field in the OebsView table, say OEBSID. You can either
> map this field using
> a basic mapping, in which case the attribute type should be string, or
> as a relationship (OneToOne), in which case
> the attribute should be the referenced entity type. A relationship
> mapping cannot go on a string type or you will
> get this exception.
>
> I don't know how you have created the class, but you have to change the
> mapping or the attribute type for it to work
> as it is.
>
> Best Regards,
> Chris
>
> dmitryerkin wrote:
>> 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
>>>
>>>
>>>
>>
>>
> _______________________________________________
> 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-tp19488247p19508289.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.