geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gianny Damour <>
Subject Re: OpenEJB Question
Date Sat, 10 Dec 2005 23:17:56 GMT
Hi Manu,

This method is always supposed to get a String value.

When a custom primary key is used, its type must be declared in the 
ejb-jar.xml DD via the prim-key-class element. Also, the primkey-field 
elements in both the ejb-jar.xml DD and openejb-jar.xml DD must not be 
set; these elements should be used only whne the CMP has a simple 
primary key. Could you please confirm that none of these elements have 
been set?


Manu George wrote:

> Hi,
>        I am facing a problem with some CMP EJBs with custom PrimaryKey 
> Classes. I am getting the EJBs deployed but during invoking of the 
> findbyprimarykey method I am getting a TransactionRolledBack 
> Exception. On investigating the cause of this I found that it was due 
> to  a ClassCastException that was ocurring in TranQL. In the class 
> org.tranql.sql.jdbc.binding.StringBinding
> there is a method setValue. Here during execution the value parameter 
> contains the custom primary key class cast as Object. In the setString 
> method it gives a ClassCastException. Shouldn't this be a 
> value.toString() here? or is this method always supposed to get just a 
> string value?
>   public void setValue(PreparedStatement ps, Object value) throws 
> SQLException {
>         ps.setString(index, (String) value);
>     }
> Is there any specific property we need to put in openejb-jar.xml when 
> we use complex PrimaryKey classes over and above the entries in 
> ejb-jar.xml?
> Also for the <primkey-field> value in the openejb-jar.xml what do we 
> put if we have a complex primary key consisting of 2 fields?
> Thanks
> Manu

View raw message