1

私はCF9 ORMを使用しています -

特定の 1 つのオブジェクトと 1 対 1 の関係を持つことができる複数のオブジェクトを持つオブジェクト モデルがあります。2 つの潜在的な CFC のうちの 1 つとの逆の関係を特定する方法はありますか?

CFC 1a (ProblemType1):

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

CFC 1b (ProblemType2):

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

フロン2:

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

これにインターフェースを使用できますか? または...?

4

1 に答える 1

3

CFC1aとCFC1bは、どちらも親エンティティであるCFC 1のサブクラスにすることができます。CFC1は、両方のサブクラスに継承される「Product」との関係を持つ必要があります。CFC 2は、その関係でCFC1を指すことができます。

サンプルエンティティ:

/** 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";

}

このアプローチを採用する場合は、継承マッピング、特に属性discriminatorColumnと属性を調べる必要がありdiscriminatorValueます。DBスキーマがどのように設定されているかを知らなければ、この点についてさらにアドバイスを与えることは困難ですが、ドキュメントで始めることができます。

于 2013-01-11T19:43:19.250 に答える