0

私は次のクラスを持っています:

Class SearchTemplateDO [ Abstract ]
{
 Relationship QueryParts As QueryPartDO [ Cardinality = many, Inverse = SearchTemplate ];
}

Class MyCustomSearchDO Extends (%Persistent, SearchTemplateDO)
{
 /// inherits all properties / relationships from SearchTemplateDO
}

Class QueryPartDO Extends %Persistent
{
   ...

    Relationship SearchTemplate As SearchTemplateDO 
     [ Cardinality = one, Inverse = QueryParts ];

    Index SearchTemplateIndex On SearchTemplate;
}

SQL でこれら 2 つのテーブルを見ると、QueryPartDO の SearchTemplate フィールドが空であることがわかります。MyCustomSearchDO を見ると、両方のテーブルにデータがありますが、「QueryParts」フィールドが表示されません。

4

3 に答える 3

0

ドキュメントから

MANY または CHILD 側はフィールドとして射影されません。これは、これらの関係がディスク上でステートレスであり、SQL がメモリ内オブジェクトを処理しないためです。代わりに、ONE または CHILD 側の ID 値と MANY または PARENT 側の参照フィールドに基づいて単純な結合を実行する必要があります。

于 2013-03-11T19:23:25.503 に答える
0

抽象クラスにはストレージ戦略が定義されていないため、非抽象子クラスで抽象親を参照することはできません。関係のある両方のクラスは、抽象的 (この場合、データはまったく保存されない) または非抽象的 (この場合、適切なストレージ戦略を持つことになります) のいずれかでなければなりません。

于 2013-03-12T00:33:55.540 に答える