我的没有出现过这种错误啊,使用的是Add Relation菜单,添加后再连接数据表里的关系,没出什么错误啊。
或者你建立关系后先保存一下,再去看EJB DD source不过一般情况下都不会有问题的

解决方案 »

  1.   

    你建好关系后,再点击Edit RDBMS Relation.. 把表与表之间的关系连好再试试看!
      

  2.   

    在jbuilder中,很多东西都要你可视化的增加,如果你直接的在代码中增加,再rebuild的时候,jbuilder会把你手工增加的部署删除掉的,除非你用make命令!
    解决着个问题的方法就是可视化的直接在jbuilder的ide界面上进行操作。比如你想增加某些表的关系,可以这样做:
    首先,右键点击你要增加关系的cmp视图,早右键菜单中选择add-->relationship,之后会出现一根连着鼠标的线,你可以把它拉到你想关联的另外cmp的试图中的字段就行了。关联好了,就是设置他们的关系了。关系的设置很简单的。毕竟都是可见可得的啊。
    之后你rebuild,再在 ejb dd source看看jbuilder帮你生成的代码,一切都ok的吧
      

  3.   

    以上的情况我都试过,没有效果,并且我怀疑是安装配置的问题,重装了JBuilder和Weblogic,还是不能解决。加了关系后我查看了ejb-jar.xml,相应的描述如下:
    <relationships>
            <ejb-relation>
                <ejb-relation-name>table1-tblUser</ejb-relation-name>
                <ejb-relationship-role>
                    <description>table1</description>
                    <ejb-relationship-role-name>Table1RelationshipRole</ejb-relationship-role-name>
                    <multiplicity>One</multiplicity>
                    <relationship-role-source>
                        <description>table1</description>
                        <ejb-name>Table1</ejb-name>
                    </relationship-role-source>
                    <cmr-field>
                        <description>tblUser</description>
                        <cmr-field-name>tblUser</cmr-field-name>
                    </cmr-field>
                </ejb-relationship-role>
                <ejb-relationship-role>
                    <description>tblUser</description>
                    <ejb-relationship-role-name>TblUserRelationshipRole</ejb-relationship-role-name>
                    <multiplicity>One</multiplicity>
                    <relationship-role-source>
                        <description>tblUser</description>
                        <ejb-name>TblUser</ejb-name>
                    </relationship-role-source>
                </ejb-relationship-role>
            </ejb-relation>
        </relationships>
    切换后变成如下显示:
     <relationships>
            <ejb-relation>
                <ejb-relation-name>table1-tblUser</ejb-relation-name>
                <ejb-relationship-role>
                    <description>table1</description>
                    <ejb-relationship-role-name>Table1RelationshipRole</ejb-relationship-role-name>
                    <multiplicity>one</multiplicity>
                    <relationship-role-source />
                    <cmr-field>
                        <description>tblUser</description>
                        <cmr-field-name>tblUser</cmr-field-name>
                    </cmr-field>
                </ejb-relationship-role>
                <ejb-relationship-role>
                    <description>tblUser</description>
                    <ejb-relationship-role-name>TblUserRelationshipRole</ejb-relationship-role-name>
                    <multiplicity>one</multiplicity>
                    <relationship-role-source />
                </ejb-relationship-role>
            </ejb-relation>
        </relationships>
    我没有编译,只是在EJB Designer和EJB DD Source之间切换了一下,为何原来的<relationship-role-source></relationship-role-source>
    变成<relationship-role-source />?这可能就是出现"The content of element type "relationship-role-source" is incomplete, it must match "(description?,ejb-name)"."编译错误的原因所在.
      可是我该如何做才能解决?请网上的朋友帮帮忙!