在WSAD5.1下的EJB关系查询的问题
我有两个表:product和productproperty表,其中product表的主键是companyid、productid,而productproperty表的主键是:companyid、productid、warehouseid。companyid和productid是外键。在WSAD5.1下自底向上创建EJB时,WSAD5.1会帮我创建好两个EJB的关系:Productproperty_To_Product。
现在,我创建这样的查询:我要根据companyid查询所有的的productproperty表的内容,EJBQL的语句是:select object(o) from Productproperty o where o.fk_prodproperty_1_coid = ?1,但是保存时却出现了这样的错误:WQRY0036E: Productproperty o does not have a field fk_prodproperty_1_coid。
但是我的部署代码中很明显的有fk_prodproperty_1_coid的CMP的,其部署代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar id="ejb-jar_ID">
<display-name>Test</display-name>
<enterprise-beans>
<entity id="ContainerManagedEntity_1066527363484">
<ejb-name>Product</ejb-name>
<local-home>com.elite.erp.ejb.cmp.ProductLocalHome</local-home>
<local>com.elite.erp.ejb.cmp.ProductLocal</local>
<ejb-class>com.elite.erp.ejb.cmp.ProductBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>com.elite.erp.ejb.cmp.ProductKey</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Product</abstract-schema-name>
<cmp-field id="CMPAttribute_1066527363593">
<field-name>companyid</field-name>
</cmp-field>
<cmp-field id="CMPAttribute_1066527363609">
<field-name>productid</field-name>
</cmp-field>
...//其他些非键CMP
</entity>
<entity id="ContainerManagedEntity_1066527363500">
<ejb-name>Productproperty</ejb-name>
<local-home>com.elite.erp.ejb.cmp.ProductpropertyLocalHome</local-home>
<local>com.elite.erp.ejb.cmp.ProductpropertyLocal</local>
<ejb-class>com.elite.erp.ejb.cmp.ProductpropertyBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>com.elite.erp.ejb.cmp.ProductpropertyKey</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Productproperty</abstract-schema-name>
<cmp-field>
<field-name>fk_prodproperty_1_companyid</field-name>
</cmp-field>
<cmp-field>
<field-name>fk_prodproperty_1_productid</field-name>
</cmp-field>
<cmp-field id="CMPAttribute_1066527364188">
<field-name>warehouseid</field-name>
</cmp-field>
...//其他些非键CMP
</entity>
<relationships>
<ejb-relation>
<ejb-relation-name>Productproperty_To_Product</ejb-relation-name>
<ejb-relationship-role id="EJBRelationshipRole_1066527364422">
<ejb-relationship-role-name>fk_prodproperty_1</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>Productproperty</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>fk_prodproperty_1</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role id="EJBRelationshipRole_1066527364423">
<ejb-relationship-role-name>productproperty</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>Product</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>productproperty</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
</relationships>
</ejb-jar>
请问这是什么原因?本人初学WSAD5,能帮我解决问题的,300分相送!!