Hi every body

I have a variable name hold declare as char in code. (It was first a Boolean but I change as Boolean is not supported)
mapping is :
<field-descriptor name="hold" column="HOLD" jdbc-type="CHAR"/>
and in postgres the column is bpchar (size 1)


I get the following errors (see belo). I have to declare it as String in my java code to get it work. But I would like to declare it as char.
Does any body able to explain that and to give a solution ?


Best regards

Andre Legendre

[PersistentField] ERROR: while set field:
object class[ org.compiere.mfg_scm.dbManager.MGB_Request
target field: hold
target field type: char
object value class: java.lang.String
object value: N]
null
java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFieldAccessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImpl.doSet(Unknown Source)
at org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflection(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.compiere.mfg_scm.dbManager.TaskConsumer.showJob(Unknown Source)
at org.compiere.mfg_scm.dbManager.DbManagerImpl.showJob(Unknown Source)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
[org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: PersistenceBrokerException during the execution of materializeObject: Error setting field:hold in object:org.compiere.mfg_scm.dbManager.MGB_Request
Error setting field:hold in object:org.compiere.mfg_scm.dbManager.MGB_Request
java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFieldAccessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImpl.doSet(Unknown Source)
at org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflection(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.compiere.mfg_scm.dbManager.TaskConsumer.showJob(Unknown Source)
at org.compiere.mfg_scm.dbManager.DbManagerImpl.showJob(Unknown Source)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
rethrown as org.apache.ojb.broker.metadata.MetadataException: Error setting field:hold in object:org.compiere.mfg_scm.dbManager.MGB_Request
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImpl.doSet(Unknown Source)
at org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflection(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.compiere.mfg_scm.dbManager.TaskConsumer.showJob(Unknown Source)
at org.compiere.mfg_scm.dbManager.DbManagerImpl.showJob(Unknown Source)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFieldAccessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
... 23 more
java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFieldAccessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImpl.doSet(Unknown Source)
at org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflection(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.compiere.mfg_scm.dbManager.TaskConsumer.showJob(Unknown Source)
at org.compiere.mfg_scm.dbManager.DbManagerImpl.showJob(Unknown Source)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
rethrown as org.apache.ojb.broker.metadata.MetadataException: Error setting field:hold in object:org.compiere.mfg_scm.dbManager.MGB_Request
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImpl.doSet(Unknown Source)
at org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflection(Unknown Source)
at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.compiere.mfg_scm.dbManager.TaskConsumer.showJob(Unknown Source)
at org.compiere.mfg_scm.dbManager.DbManagerImpl.showJob(Unknown Source)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFieldAccessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
... 23 more



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to