[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [eclipselink-users] java.lang.IllegalArgumentException
- From: christopher delahunt <christopher.delahunt@xxxxxxxxxx>
- Date: Mon, 15 Sep 2008 09:21:06 -0400
- Delivered-to: firstname.lastname@example.org
- Organization: Oracle Corporation
- User-agent: Thunderbird 126.96.36.199 (Windows/20080708)
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.
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
Descriptor: RelationalDescriptor(ejb3.OebsView -->
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);
cursorByTimeAndOrganizationId = (ScrollableCursor)
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