I have a field conversion on an auto incrementing primary key field in version 0.9.8 of OJB. When creating a new object (without initializing the PK, as I want it autoincrementing) I get this partial stack trace: 13:15:33,523 ERROR [DEFAULT] org.apache.ojb.broker.OJBRuntimeException: Error while trying to autoincrement field class com.f orgent.gss.resourcescheduler.persistence.RoomReservation#reservationKey: Error invoking method:setReservationKey in object:co m.forgent.gss.resourcescheduler.persistence.RoomReservation: argument type mismatch 13:15:33,553 ERROR [STDERR] java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPropertyImpl.set(P ersistentFieldPropertyImpl.java:113) at org.apache.ojb.broker.metadata.ClassDescriptor.getAutoIncrementValue(ClassDe scriptor.java:1127) ...... I notice that in org.apache.ojb.broker.ClassDescriptor.java around line 1127 looks like this: if (result != null) { result = broker.getUniqueObject(fmd); // reflect autoincrement value back into object f.set(obj, result); } I think there should be something like: result=fieldConversion.sqlToJava(result) after the getUniqueObject() call. Is this correct? Thanks.