The relation-type = nofk is used when we need a relation but don't want to
apply foreign key constraints on it.
This relation comes in existance only when we need to use the attribute of a
entity into another entity. And we needed
that when we delete/expire a record from entity say
"PaymentBudgetAllocation" then their is no need to delete the record
from  "BudgetItem". In such case we specify relation-type = nofk.

Thanks and Regards
 [Rishi Solnaki]



On Tue, Jun 24, 2008 at 5:41 PM, him_aeng <[EMAIL PROTECTED]> wrote:

>
> I see you intent to make two of compound key (budgetId and budgetItemSeqId)
> of PaymentBudgetAllocation entity have relation-type = nofk that not
> similar
> to "The Data Model Resource Book Vol.1" in Figure 8.10. I think you have to
> has a good reason for implementation
>
> /applications/accounting/entitydef/entitymodel.xml
>
> <entity entity-name="PaymentBudgetAllocation"
>            package-name="org.ofbiz.accounting.payment"
>            title="Payment Budget Allocation Entity">
>      <field name="budgetId" type="id-ne"></field>
>      <field name="budgetItemSeqId" type="id-ne"></field>
>      <field name="paymentId" type="id-ne"></field>
>      <field name="amount" type="currency-amount"></field>
>      <prim-key field="budgetId"/>
>      <prim-key field="budgetItemSeqId"/>
>      <prim-key field="paymentId"/>
>      <relation type="one" fk-name="PAYMENT_BA_BDGT"
> rel-entity-name="Budget">
>        <key-map field-name="budgetId"/>
>      </relation>
>  - <relation type="one-nofk" rel-entity-name="BudgetItem">
> + <relation type="one" fk-name="PAYMENT_BUDGIT"
> rel-entity-name="BudgetItem">
>        <key-map field-name="budgetId"/>
>        <key-map field-name="budgetItemSeqId"/>
>      </relation>
>      <relation type="one" fk-name="PAYMENT_BA_PMT"
> rel-entity-name="Payment">
>        <key-map field-name="paymentId"/>
>      </relation>
>    </entity>
>
> and another question in the same figure in the book (Figure 8.10). In
> order_item entity has two attribute that is budgetId and budgetItemSeqId
> but
> you don't use it to link to budget_item entity, and I don't know why?
>
> /applications/order/entitydef/entitymodel.xml
>
> <entity entity-name="OrderItem"
>            package-name="org.ofbiz.order.order"
>            never-cache="true"
>            title="Order Item Entity">
>      <field name="orderId" type="id-ne"></field>
>      <field name="orderItemSeqId" type="id-ne"></field>
>      <field name="externalId" type="id"></field>
>      <field name="orderItemTypeId" type="id-ne"></field>
>      <field name="orderItemGroupSeqId" type="id-ne"></field>
>      <field name="isItemGroupPrimary" type="indicator"></field>
>      <field name="fromInventoryItemId" type="id"></field>
>      <field name="budgetId" type="id"></field>
>      <field name="budgetItemSeqId" type="id"></field>
>      ...
> + <relation type="one" fk-name="ORDER_ITEM_BUDGET_ITEM"
> rel-entity-name="BudgetItem">
> + <key-map field-name="budgetId"/>
> + <key-map field-name="budgetItemSeqId"/>
> + </relation>
> --
> View this message in context:
> http://www.nabble.com/Many-entities-that-should-has-foreign-key-but-it-not%2C-why--tp18089666p18089666.html
> Sent from the OFBiz - User mailing list archive at Nabble.com.
>
>

Reply via email to