1

我希望在主要用于保存计数的实体上创建一个属性。例子:

Brand
- id
- name
- numberOfProducts

numberOfProducts 属性只不过是产品的计数。但是,这个计数会根据我对产品的看法而变化。例如,也许我只想要该品牌的活跃产品数量与该品牌的所有产品数量。

nHibernate 有类似的东西,请参阅:Query Unmapped Columns in NHibernate

这可能吗?或者有没有更好的方法来解决我的问题?我当然可以为每种情况添加 2 个计数属性,然后添加一个非规范化字段,但这对于或多或少一次性使用的情况来说是很多工作。

我也可以简单地创建以在一个 DQL 语句中获取所有品牌以及计数查询,但这意味着我必须手动将计数字段映射到属性中。我希望教义可以为我做那种映射。

4

1 回答 1

0

我认为这里最好的解决方案是创建自定义水合器,它能够将额外的(非托管字段)设置到实体属性中:

http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html#custom-hydration-modes

于 2012-05-21T13:28:10.023 回答