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



Reply via email to