簡體   English   中英

XML中的復合鍵與第二張表一起休眠

[英]Composite key in XML hibernate with second table

首先,我無法控制技術或數據庫結構。

我有一個對象,該對象具有另一個對象作為復合鍵。 在該復合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 ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM