Searching for ORA-01722 shows that it occurs when an attempt to convert a string to a number fails. The query seems to use binding for the id and type fields, can you verify the type of the column in the database, and that the values passed in: [37243044, IdcFXSLegC] are correct? I would expect that the "37243044" passed into the query to be a java.lang.Number implementation, could you be passing in a string instead?
Do any queries on the FXSingleLegC or other entities work?
The query is getting fired when we refresh the object using toplink session, my question is when we refresh an object, Eclipselink always uses the ObejctID (Primary key) to refresh the
object, however in this case the type parameter was also sent, Chris, could you please explain?
A refresh query is just a normal read object query that uses the primary key, but with a flag that is set so that it is forced to go the database and rebuild the object. If inheritance is involved, a descriminator column is used, so that subclasses can be filtered out and the correct java types built. I assume 'type' has been specified in the descriptors as the descriminator field, and that this class is a root or subclass in an inheritance heirarchy. If the type field is causing the problem, you will need to check that it is mapped correctly in the descriptors.