Thank you very much for this info. It will help me a lot.
Best regards
Andre Legendre
Gelhar, Wallace Joseph wrote:
Andre
Write a char to boolean conversion class. See http://db.apache.org/ojb/jdbc-types.html for details.
Wally
-----Original Message-----
From: Andr� Charles Legendre [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 21, 2004 10:36 AM
To: OJB Users List
Subject: Re: Problem with char mapping
Armin
Thnak you for your elements.
But what is the good solutions when I want to use char size 1 (as substitute of Boolean) and Long ?
Andre
Le Mercredi 21 Janvier 2004 18:12, Armin Waibel a �crit :
Hi again,
A Leg wrote:
Arminok, in final 1.0 BOOLEAN datatype should be supported (but there is currently no test case for that, so no guarantee ;-))
I use db-ojb-1.0.rc4.
And it seem that the problem is similar for numeric where ojb accept only BigDecimal :yep, OJB does the mapping as specified by sun and NUMERIC is mapped to BigDecimal.
[PersistentField] ERROR: while set field: object class[ org.compiere.mfg_scm.dbManager.MGT_Request target field: jobNum target field type: class java.lang.Long object value class: java.math.BigDecimal object value: 1] null
I made the test with Long and with int, problem is the same if in database the column is Numeric.
regards, Armin
Andre---------------------------------------------------------------------
Armin Waibel wrote:
Hi Andre,--------------------------------------------------------------------
A Leg wrote:
Hi every bodyWhich version of OJB do you use?
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 :Think you need a field-conversion, because sun's mapping convention say that CHAR was mapped to String See
<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 ?
http://db.apache.org/ojb/jdbc-types.html
Write your own String2CharFieldConversion. You can find many examples in source code (..broker.accesslayer.conversion package)
regards, Armin
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(UnsafeCharacterFie
ldAc
cessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAcc
essI
mpl.doSet(Unknown Source)
at
org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(
Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflect
ion(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(U
nknown Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unkn
own Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unkno
wn 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.ja
va:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
esso
rImpl.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.j
ava: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(UnsafeCharacterFie
ldAc
cessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAcc
essI
mpl.doSet(Unknown Source)
at
org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(
Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflect
ion(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(U
nknown Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unkn
own Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unkno
wn 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.ja
va:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
esso
rImpl.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.j
ava: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.PersistentFieldDirectAccessI
mpl.doSet(Unknown Source)
at
org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(
Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflect
ion(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(U
nknown Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unkn
own Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unkno
wn 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.ja
va:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
esso
rImpl.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.j
ava:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFie
ldAc
cessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
... 23 more
java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFie
ldAc
cessorImpl.java:68)
at java.lang.reflect.Field.set(Field.java:519)
at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAcc
essI
mpl.doSet(Unknown Source)
at
org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(
Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflect
ion(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(U
nknown Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unkn
own Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unkno
wn 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.ja
va:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
esso
rImpl.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.j
ava: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.PersistentFieldDirectAccessI
mpl.doSet(Unknown Source)
at
org.apache.ojb.broker.metadata.fieldaccess.AbstractPersistentField.set(
Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.buildWithReflect
ion(Unknown Source)
at
org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectFrom(U
nknown Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(Unkn
own Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Un
known Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unkno
wn 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.ja
va:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
esso
rImpl.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.j
ava:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.IllegalArgumentException
at sun.reflect.UnsafeCharacterFieldAccessorImpl.set(UnsafeCharacterFie
ldAc
cessorImpl.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]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
