содержимое ejb-jar.xml предоставляю, но мне кажется что связь не работает потому, что в базовой таблице EMPLOYEES два поля MANAGER_ID и DEPARTMENT_ID (на которые и указывает исключение) НЕ НАХОДЯТСЯ(!!!) в состоянии NOT NULL....может ли это быть причиной моей головной боли?
а теперь содержимое ejb-jar.xml:
| Код | <?xml version = '1.0' encoding = 'windows-1252'?> <!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> <enterprise-beans> <session> <description>Session Bean ( Stateless )</description> <display-name>EmpdeptSession</display-name> <ejb-name>EmpdeptSession</ejb-name> <home>mypackage1.EmpdeptSessionHome</home> <remote>mypackage1.EmpdeptSession</remote> <ejb-class>mypackage1.EmpdeptSessionBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <ejb-local-ref> <ejb-ref-name>ejb/local/Employees</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>mypackage1.EmployeesLocalHome</local-home> <local>mypackage1.EmployeesLocal</local> <ejb-link>Employees</ejb-link> </ejb-local-ref> <ejb-local-ref> <ejb-ref-name>ejb/local/Departments</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>mypackage1.DepartmentsLocalHome</local-home> <local>mypackage1.DepartmentsLocal</local> <ejb-link>Departments</ejb-link> </ejb-local-ref> </session> <entity> <description>Entity Bean ( CMP )</description> <display-name>Departments</display-name> <ejb-name>Departments</ejb-name> <local-home>mypackage1.DepartmentsLocalHome</local-home> <local>mypackage1.DepartmentsLocal</local> <ejb-class>mypackage1.DepartmentsBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Long</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>Departments</abstract-schema-name> <cmp-field> <field-name>departmentId</field-name> </cmp-field> <cmp-field> <field-name>departmentName</field-name> </cmp-field> <cmp-field> <field-name>locationId</field-name> </cmp-field> <primkey-field>departmentId</primkey-field> <query> <query-method> <method-name>findAll</method-name> <method-params/> </query-method> <ejb-ql>select object(o) from Departments o</ejb-ql> </query> </entity> <entity> <description>Entity Bean ( CMP )</description> <display-name>Employees</display-name> <ejb-name>Employees</ejb-name> <local-home>mypackage1.EmployeesLocalHome</local-home> <local>mypackage1.EmployeesLocal</local> <ejb-class>mypackage1.EmployeesBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Long</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>Employees</abstract-schema-name> <cmp-field> <field-name>employeeId</field-name> </cmp-field> <cmp-field> <field-name>firstName</field-name> </cmp-field> <cmp-field> <field-name>lastName</field-name> </cmp-field> <cmp-field> <field-name>email</field-name> </cmp-field> <cmp-field> <field-name>phoneNumber</field-name> </cmp-field> <cmp-field> <field-name>hireDate</field-name> </cmp-field> <cmp-field> <field-name>jobId</field-name> </cmp-field> <cmp-field> <field-name>salary</field-name> </cmp-field> <cmp-field> <field-name>commissionPct</field-name> </cmp-field> <primkey-field>employeeId</primkey-field> <query> <query-method> <method-name>findAll</method-name> <method-params/> </query-method> <ejb-ql>select object(o) from Employees o</ejb-ql> </query> </entity> </enterprise-beans> <relationships> <ejb-relation> <ejb-relation-name>Employees - Departments</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>Employees may have one Departments</ejb-relationship-role-name> <multiplicity>Many</multiplicity> <relationship-role-source> <ejb-name>Employees</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>departments_departmentId</cmr-field-name> </cmr-field> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>Departments may have many Employees</ejb-relationship-role-name> <multiplicity>One</multiplicity> <relationship-role-source> <ejb-name>Departments</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>employees_departmentId</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> </ejb-relation> <ejb-relation> <ejb-relation-name>Departments - Employees</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>Departments may have one Employees</ejb-relationship-role-name> <multiplicity>Many</multiplicity> <relationship-role-source> <ejb-name>Departments</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>employees_managerId</cmr-field-name> </cmr-field> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>Employees may have many Departments</ejb-relationship-role-name> <multiplicity>One</multiplicity> <relationship-role-source> <ejb-name>Employees</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>departments_managerId</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> </ejb-relation> <ejb-relation> <ejb-relation-name>Employees - Employees</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>Employees may have one Employees</ejb-relationship-role-name> <multiplicity>Many</multiplicity> <relationship-role-source> <ejb-name>Employees</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>employees_managerId</cmr-field-name> </cmr-field> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>Employees may have many Employees</ejb-relationship-role-name> <multiplicity>One</multiplicity> <relationship-role-source> <ejb-name>Employees</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>employees_managerId_1</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> </ejb-relation> </relationships> <assembly-descriptor> <container-transaction> <method> <ejb-name>Departments</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Supports</trans-attribute> </container-transaction> <container-transaction> <method> <ejb-name>Employees</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Supports</trans-attribute> </container-transaction> <container-transaction> <method> <ejb-name>EmpdeptSession</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>
|
|