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 中查看这两个表时,我看到 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 回答
0

最后,我能够通过在抽象类上扩展 %Persistent 来实现这一点。在我尝试之前,没有任何效果,而且我一直收到一个奇怪的错误。但是,我在一个示例项目中尝试了这个,现在它可以工作了。

于 2013-03-22T21:14:58.320 回答