Oracle WaveMaker 6.7中的外键查找

Oracle WaveMaker 6.7中的外键查找,oracle,hibernate,wavemaker,Oracle,Hibernate,Wavemaker,我目前正在评估WaveMaker的一个工作项目,在执行外键查找时遇到问题。我正在运行WaveMaker 6.7并连接到Oracle Database 10g实例 我的项目涉及设计一个非常简单的“项目批准”屏幕。在WaveMaker的实现中,它应该包括一个与RequestApproval表关联的DojoGrid和一个与表中所选元素关联的LiveForm,该元素提供CRUD操作 RequestApproval表中的每一行表示项目中的一项任务。该表包含一个可空的StaffAssigned列,该列指示分

我目前正在评估WaveMaker的一个工作项目,在执行外键查找时遇到问题。我正在运行WaveMaker 6.7并连接到Oracle Database 10g实例

我的项目涉及设计一个非常简单的“项目批准”屏幕。在WaveMaker的实现中,它应该包括一个与RequestApproval表关联的DojoGrid和一个与表中所选元素关联的LiveForm,该元素提供CRUD操作

RequestApproval表中的每一行表示项目中的一项任务。该表包含一个可空的StaffAssigned列,该列指示分配给任务的工作人员。为了验证新条目并保持数据完整性,StaffAssigned列是Respinit表的外键,其主键定义了所有工作人员。外键是在数据库中定义的,导入时WaveMaker会给它分配一个基数“to zero或one”(因为我认为StaffAssigned列是可以为null的)

我的问题是,既然Hibernate有了关系映射,WaveMaker不应该为我提供所有便利。只要在StaffAssigned列上定义了该外键,该列就不会出现在DojoGrid中。Respinit表中的关联列在DojoGrid的“编辑列”对话框中也不显示为可选列。(这可能是因为WaveMaker不知道当StatFassigned为空时显示什么?)LiveForm中默认不显示查找编辑器,但当我从托盘上拖动一个时,新编辑器会自动与外键关联,并在我运行应用程序时自动填充Respinit表中的值

下面是Hibernate中RequestApproval表的定义:

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.db105ddb.data.RequestApproval" table="REQUEST_APPROVAL" schema="VRT" dynamic-insert="false" dynamic-update="false">
        <id name="requestApprovalId" type="integer">
            <column name="REQUEST_APPROVAL_ID" precision="9"/>
            <generator class="assigned"/>
        </id>
        <property name="REQUESTNUM" type="integer">
            <column name="REQUESTNUM" precision="8" not-null="true"/>
        </property>
        <property name="taskDescription" type="string">
            <column name="TASK_DESCRIPTION" length="2000"/>
        </property>
        <property name="whoRequestedApproval" type="string">
            <column name="WHO_REQUESTED_APPROVAL" length="6"/>
        </property>
        <property name="dateRequested" type="date">
            <column name="DATE_REQUESTED" length="7"/>
        </property>
        <property name="dateApproved" type="date">
            <column name="DATE_APPROVED" length="7"/>
        </property>
        <property name="WHO_APPROVED" type="string">
            <column name="WHO_APPROVED" length="6"/>
        </property>
        <many-to-one name="respinitByStaffAssigned" class="com.db105ddb.data.Respinit" cascade="none">
            <column name="STAFF_ASSIGNED" length="6"/>
        </many-to-one>
    </class>
</hibernate-mapping>

下面是Respinit表的定义:

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.db105ddb.data.Respinit" table="RESPINIT" schema="VRT" dynamic-insert="false" dynamic-update="false">
        <id name="respinit" type="string">
            <column name="RESPINIT" length="6"/>
            <generator class="assigned"/>
        </id>
        <property name="rname" type="string">
            <column name="RNAME" length="40"/>
        </property>
        <property name="rnameaddr" type="string">
            <column name="RNAMEADDR" length="40"/>
        </property>
        <property name="raddr1" type="string">
            <column name="RADDR1" length="40"/>
        </property>
        <property name="raddr2" type="string">
            <column name="RADDR2" length="40"/>
        </property>
        <property name="rcity" type="string">
            <column name="RCITY" length="40"/>
        </property>
        <property name="rstate" type="string">
            <column name="RSTATE" length="20"/>
        </property>
        <property name="rzip" type="string">
            <column name="RZIP" length="20"/>
        </property>
        <property name="homephone" type="string">
            <column name="HOMEPHONE" length="20"/>
        </property>
        <property name="extension" type="string">
            <column name="EXTENSION" length="5"/>
        </property>
        <property name="department" type="string">
            <column name="DEPARTMENT" length="20"/>
        </property>
        <property name="cgroup" type="string">
            <column name="CGROUP" length="10"/>
        </property>
        <property name="emailaddress" type="string">
            <column name="EMAILADDRESS" length="1024"/>
        </property>
        <set name="requestApprovalsForStaffAssigned" inverse="true" cascade="">
            <key>
                <column name="STAFF_ASSIGNED" length="6"/>
            </key>
            <one-to-many class="com.db105ddb.data.RequestApproval"/>
        </set>
    </class>
</hibernate-mapping>


我真的很希望我的StaffAssigned专栏出现在我的DojoGrid中,我不知道为什么不是。我用Wavemaker完成的其他外键查找工作与预期一样。有人能告诉我我的配置是否有问题吗?我的方法在某种程度上是非标准的吗?任何帮助都将不胜感激,我将根据要求提供任何其他信息。

我在他们的文档中找到了答案。如果需要查看/编辑相关数据,则必须使用LiveView而不是LiveTable。因为他们的网站已经关闭了整整一周,所以他们的回程机器的文档档案中有问题