1.你用的什么工具?如果是JBulider最好,其它也行。以JBulider为例:
  直接在EJB Designer中建上述两个CMP的关系(CMR),即主外键关系。员工表
  为主键,部门表为外键。
2.然后在部门表建一个员工表的本地引用,

解决方案 »

  1.   

    对,我用的是JBulider,但是如何建你说的关系呢?如何做那个本地引用呢?
      

  2.   

    1.向上面建好关系后,你可以这样写EJB-QL:
      select a  from department a, IN(a.employee) b 
    2.然后结合值对象,你不会没用吧?在部门表写一个得到员工表name,telnumber等信息的
      方法,在getValueObject()中统一返回部门表的field数据和查找到的员工表的field数据.
    3.代码实例:
         public ValueObjectImpl getDetailValueObject()
        {
          //得到有关系的cmp的local接口,getCTParamType()是你建好关系后
          //生成的容器方法,在你那,可能就是getPeople(),返回PeopleLocal
          CTParamTypeLocal  ctParamType=getCTParamType();
          CTParamGradeLocal ctParamGrade=getCTParamGrade();
          CTParamGrpLocal   ctParamGroup=getCTParamGrp();
          //查找字段,如你的员工name,telnumber等;
          String defaultStr="";
          String typeName=ctParamType==null?defaultStr:ctParamType.getTypeName();
          String gradeName=ctParamGrade==null?defaultStr:ctParamGrade.getGradeName();
          String groupName=ctParamGroup==null?defaultStr:ctParamGroup.getName();
          return new VO_CTVerParamsDefDetail(this.getSoftID(),this.getParamNo(),this.getParamName(),this.getParamTypeID(),
                                           this.getGradeID(),this.getParamGroupID(),this.getLength(),this.getParamsCount(),
                                           this.getDefaultValue(),this.getMinValue(),this.getMaxValue(),this.getRe(),
                                           this.getCanModified(),this.getParamUnit(),
                                            typeName,gradeName,groupName);
        }
      

  3.   

    简单的说,就是在部门表(cmp)中建一个类型为员工表(cmp)Local接口
    的成员或变量,即For example:EmployeeLocal employee=getEmployee();另外你在JBulider中如何写的EJB,在EJB Designer中看见EJB的图了吗?
    如果看见,就很好建关系了!直接在EmployeeCmp点右键,先Add再RelationShip和DepartmentCmp建一对一关系就行了! 
      

  4.   

    To:renjordan(任我行) 能给我发个类似的例子吗,或者知道哪里有这样的例子告诉我也行,这个问题困绕了我两天了,新项目要求用EJB来做,马上变的不会写程序了,我的mail 是[email protected],如果您愿意可以QQ上指导我一下24046787,谢谢
      

  5.   

    Sorry,我在公司上网,不能用qq!
      

  6.   

    哦,那你就给我发个例子吧,让我看看是怎样用的,另外你说的“在部门表(cmp)中建一个类型为员工表(cmp)Local接口的成员或变量”是怎样建的呢,是用代码写,还是在右键菜单中增加,可我看只有什么“finder/select/method等啊”没有接口或者变量啊
      

  7.   

    你要先建关系,直接在EmployeeCmp点右键,先Add再RelationShip和DepartmentCmp建一对一关系就行了!
    建成员很简单,先Add再field ,你不会告诉我你的右键没有Add菜单吧?类型就是员工表(cmp)Local接口.
      

  8.   

    有,只是不知道是干什么的啊,买了本EJB的书,什么用的都没有,建立关联的时候,只在一个EmployCmp或者DepartmentCmp中加一个RelationShip就行了吧,不用两个都加吧
      

  9.   

    可以建单向或双向的关系,收Email!
      

  10.   

    fengerly(小精灵) 你还在吗,收到第二封邮件了吗?