This could be your database-scheme. I notice that most of the database schemas that 
come with Orion (look at the config/database-schemas) do not include a field for 
java.math.BigDecimal. However, the SapDB.xml schema does. Copy this bit into your 
database schema, and this will probably fix your problem:

    <type-mapping type="java.math.BigDecimal" name="fixed(15,15)" />

Why aren't you using Long as the pk? Many who use orion use Long's. This could be why 
you found this problem, because you were the first to use a BigDecimal as a pk.

If you are new to Orion, come join us at www.elephantwalker.com. We have the largest 
and oldest Orion forum on the web.

regards,

the elephantwalker
www.elephantwalker.com

.ps There is an excellent document on database schemas in Orion at:

http://www.orionserver.com/docs/database-schema-configuration/database-schema-configuration.xml



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Nicolas Camut
Sent: Saturday, March 02, 2002 5:47 AM
To: Orion-Interest
Subject: BigDecimal problem...


Hi,

I'm having a really annoying problem with Orion. I'm importing an
application from Weblogic to Orion. It consists of basic CMP EntityBeans so
that I can test whether I can port a much bigger application. Anyways, those
Beans use BigDecimal as Primary keys. 

In the design of this application, some of those beans have a parenthood
relationship as well as references to other beans. As the application should
allow null parenthood for instance, the beans should store null value in the
associated DB field.

This being said, this test framework works fine with weblogic. As far as
Orion is concerned, I get NullPointerExceptions when creating the beans,
which by default have null references to other beans. As I found it weird I
messed up with the automatically-generated classes -e.g.
PersonBeanHome_EntityHomeWrapper14.java - and I found out that when a bean
generates PreparedStatements and instanciates them, it checks whether String
or Date fields are null and if so call the setNull(...) method, but does not
for BigDecimal fields leading to the NullPointerException.

Well, d'you have any idea how to walk round this?

Thanks,

Nicolas
 
 


Reply via email to