1

我正在使用 CF9 ORM -

我有一个对象模型,其中我有多个对象,这些对象可能与一个特定对象具有一对一的关系。有没有办法具体说明与两种潜在 CFC 之一的反比关系?

CFC 1a(问题类型 1):

property name="Product" cfc="Product" fieldtype="one-to-one" fkcolumn="productID" ;

CFC 1b(问题类型 2):

property name="Product" cfc="Product" fieldtype="one-to-one" fkcolumn="productID" ;

氟氯化碳 2:

property name="Problem" fieldtype="one-to-one" cfc=???;

我可以为此使用接口吗?或者...?

4

1 回答 1

3

CFC 1a 和 CFC 1b 都可以是父实体 CFC 1 的子类。CFC 1 应该与“产品”有关系,这将由两个子类继承。然后,CFC 2 可以在其关系中指向 CFC 1。

示例实体:

/** CFC 1 **/
component persistent="true" {

    property name="Product" cfc="Product" fieldtype="one-to-one" fkcolumn="productID";

}

/** CFC 1a **/
component persistent="true" extends="baseProblem" {

    // problemtype1 specific properties go here

}

/** CFC 1b **/
component persistent="true" extends="baseProblem" {

    // problemtype2 specific properties go here

}

/** CFC 2 **/
component persistent="true" {

    property name="Problem" fieldtype="one-to-one" cfc="baseProblem";

}

如果您确实采用这种方法,您可能需要研究继承映射,特别是discriminatorColumnanddiscriminatorValue属性。在不知道您的数据库模式是如何设置的情况下,很难就这一点提供进一步的建议,但文档应该可以帮助您入门。

于 2013-01-11T19:43:19.250 回答