XML hibernate中的复合键与第二个表



首先,我无法控制技术和数据库结构。

我有一个对象,它有另一个对象作为复合键。在复合id对象中,我有一个列,我需要使用它来获取另一个值,特别是描述。我希望能够检索与这个键绑定的描述当我拉动对象时。以下是我目前的资料(为了保护无辜,我改了名字):

  <class name="BusinessRuleObject" table="BUSINESS_RULE_OBJECTS" schema="DB">
    <composite-id name="businessRuleObjectId" class="BusinessRuleObjectId">
      <key-property name="idCode" column="ID_CD" />
      <key-many-to-one name="businessRule" class="BusinessRule" column="BUSINESS_RULE" />
    </composite-id>
    <property name="updateDate" column="UPDATE_DT" type="timestamp" />
    <property name="updateUser" column="UPDATE_USER_ID" />
  </class>
  <class name="BusinessRule" table="BUSINESS_RULE_LOOKUP" schema="DB">
    <id name="businessRuleCode" column="BUSINESS_RULE"></id>
    <property name="description" column="DESCRIPTION_TX" />
    <property name="updateDate" column="UPDATE_DT" type="timestamp" />
    <property name="updateUser" column="UPDATE_USER_ID" />
  </class>

我要做的是:

  • 得到"BusinessRuleObject"
  • 能够调用类似BusinessRuleObject.businessRule.description的东西

如果不是很清楚,第一个表(对象)有两个键,一个idCode和一个businessRule。第二个有一个键,businessRule.

谢谢你的帮助,似乎是一个简单的问题,只是我现在想不起来

如果您已经检索了BusinessRuleObject,那么您已经拥有了它(如果映射工作正常)。只需要获取值:

BusinessRuleObject bo = ....;
String description = bo.businessRule.description; // Or appropriate getters

如果您只是想获得某个对象的描述,那么类似的HQL应该可以工作:

select bo.businessRule.description from BusinessRuleObject bo 
                                   where [ your bo criteria ]

相关内容

最新更新