Hello,
I need help understanding why a persistence-type directive is being
ignored.
Here's the relevant portions of the ejb-jar.xml:
<entity>
<ejb-name>DiscussionItem</ejb-name>
<home>com.epistemic.km.server.DiscussionItemHome</home>
<remote>com.epistemic.km.server.DiscussionItem</remote>
<ejb-class>com.epistemic.km.server.DiscussionItemBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>com.epistemic.util.GUID</prim-key-class>
<reentrant>False</reentrant>
<primkey-field>guid</primkey-field>
<cmp-field><field-name>guid</field-name></cmp-field>
<cmp-field><field-name>sid</field-name></cmp-field>
</entity>
Here's the orion-ejb-jar.xml that I provide:
<entity-deployment name="DiscussionItem"
location="DiscussionItem"
table="DiscussionItem"
data-source="jdbc/DefaultEJBDS">
<primkey-mapping>
<properties>
<cmp-field-mapping name = "value"
persistence-name ="guid"
persistence-type = "binary"/>
</properties>
</primkey-mapping>
<cmp-field-mapping name="sid" persistence-name="sid" />
</entity-deployment>
GUID is Serializable. The return type of guid.value is byte[]. I'm
using Hypersonic SQL. In the schema.xml, there are two relevant
entries:
<type-mapping type="byte[]" name="binary" />.
<type-mapping type="java.io.Serializable" name="object" />
However, when I deploy, the orion-ejb-jar in the deployment directory
has the entry:
<primkey-mapping>
<cmp-field-mapping name="guid" persistence-name="guid" />
</primkey-mapping>
The table that is autocreated, has a column of type object for guid. I
guess, somewhere in the descriptors, I'm confusing Orion. Please help!
Thanks,
Vidur
--
Vidur Dhanda
Active Solutions
tel: 617/566-1252
[EMAIL PROTECTED]
www.active-solutions-inc.com