怎么理解ejb的关系映射? 开发工具jbuilderX,服务器weblogic 8.1,数据库是interbase 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用CMR,可以通过“在部署描述符文件中描述+在代码中写声明(不写实现)”的方式管理表关系. 这些声明是不是会出现在ejb的localremote接口中?那我建立一个ejb的实例时那个关联字段我该怎么处理,用自己手工设置值?那跟不设关联也没有什么区别啊。能不能说一下设置了关系后有什么作用啊? 是这样的,我举个例子吧:1:N========================================= CompanyPK | Name |========================================= 12345 |The Middleware Company |============================================================================================== EmployeePK | Name | Sex | Company |===================================================== 20202 | Ed | M | 12345 | 20203 | Floyd | M | 12345 |=====================================================用BMP实现1:N关系public class CompanyBean implements EntityBean{ private String companyPK; private String companyName; private Vector employees; public Collection getEmployees() { return this.employees; } public void setEmployees(Collection e) { this.employees = (Vector) e; } public void ejbLoad() { // 1. 利用SQL选择Company // 2. JNDI查找EmployeeHome // 3. 调用EmployeeHome.findByCompany(companyPk) } public void ejbStore() { // 利用SQL更新compnay }}用CMP实现1:N关系public abstract CompanyBean implements EntityBean{ public abstract Collection getEmployees(); public abstract void setEmployees(Collection e); public void ejbLoad(); public void ejbStore();}ejb-jar.xml<ejb-jar> <enterprise-beans> .... </enterprise-beans> <relationships> <ejb-relation> <ejb-relation-name>Company-Employees</ejb-relation-name> <ejb-relation-role> <ejb-relation-role-name> Company-Employs-Employees </ejb-relation-role-name> <multiplicity>One</multiplicity> <relationship-role-source> <ejb-name>Company</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>employees</cmr-field-name> <cmr-field-type>java.util.Collections</cmr-field-type> </cmr-field> </ejb-relation-role> <ejb-relation-role> <ejb-relation-role-name> Employees-WorkAt-Company </ejb-relation-roel-name> <multiplicity>Many</multiplicity> <relation-role-source> <ejb-name>Employee</ejb-name> </relation-role-source> </ejb-relation-role> </ejb-relation> </relationships> </ejb-jar>在CMP实现中,不用手动进行设置,完全有容器来做. 关于hibernate的查询问题 文档全英文....郁闷...散分..... 谁对网络硬盘比较了解 看一下你对return和finally的执行顺序理解是否正确 关于xmlbeans的插入记录的方法 想问个项目的问题啊,麻烦大家帮帮忙啊。 子类引用指向父类对象??? web应用跨容器调用EJB的异常问题 请问jakarta的官方网站里,有关于Tomcat、Servlet配置方面的介绍吗? 初学hibernate一对多映射问题 spring的事务异常怎么处理?? 如果事先不知道一个BEAN实例对象属于那个具体的类,有办法将其全部属性读取出来吗?
的方式管理表关系.
那我建立一个ejb的实例时那个关联字段我该怎么处理,用自己手工设置值?那跟不设关联也没有什么区别啊。
能不能说一下设置了关系后有什么作用啊?
CompanyPK | Name |
=========================================
12345 |The Middleware Company |
==============================================================================================
EmployeePK | Name | Sex | Company |
=====================================================
20202 | Ed | M | 12345 |
20203 | Floyd | M | 12345 |
=====================================================
用BMP实现1:N关系public class CompanyBean implements EntityBean
{
private String companyPK;
private String companyName;
private Vector employees;
public Collection getEmployees()
{
return this.employees;
}
public void setEmployees(Collection e)
{
this.employees = (Vector) e;
}
public void ejbLoad()
{
// 1. 利用SQL选择Company
// 2. JNDI查找EmployeeHome
// 3. 调用EmployeeHome.findByCompany(companyPk)
}
public void ejbStore()
{
// 利用SQL更新compnay
}
}用CMP实现1:N关系public abstract CompanyBean implements EntityBean
{
public abstract Collection getEmployees();
public abstract void setEmployees(Collection e);
public void ejbLoad();
public void ejbStore();
}ejb-jar.xml
<ejb-jar>
<enterprise-beans>
....
</enterprise-beans>
<relationships>
<ejb-relation>
<ejb-relation-name>Company-Employees</ejb-relation-name>
<ejb-relation-role>
<ejb-relation-role-name>
Company-Employs-Employees
</ejb-relation-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>Company</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>employees</cmr-field-name>
<cmr-field-type>java.util.Collections</cmr-field-type>
</cmr-field>
</ejb-relation-role>
<ejb-relation-role>
<ejb-relation-role-name>
Employees-WorkAt-Company
</ejb-relation-roel-name>
<multiplicity>Many</multiplicity>
<relation-role-source>
<ejb-name>Employee</ejb-name>
</relation-role-source>
</ejb-relation-role>
</ejb-relation>
</relationships>
</ejb-jar>在CMP实现中,不用手动进行设置,完全有容器来做.