我希望在一个实体上创建一个属性,该属性将主要用于持有计数。示例:
Brand
- id
- name
- numberOfProductsnumberOfProducts属性只不过是产品的计数。但是,这个计数会根据我对产品的看法而改变。例如,也许我只想要该品牌的active产品的数量,而不是该品牌的所有产品的数量。
nHibernate有类似的东西,参见:Query Unmapped Columns in NHibernate
这个是可能的吗?还是有更好的方法来解决我的问题?当然,我可以为每种情况添加2个计数属性,然后添加一个非规范化字段,但是对于或多或少一次使用的情况来说,这是一项很大的工作。
我还可以创建一个DQL语句来获取所有品牌以及计数查询,但是这意味着我必须手动将计数字段映射到属性中。我希望教条能为我做那种映射。
发布于 2012-05-21 13:28:10
我认为这里最好的解决方案是创建自定义的消火栓,它能够将额外的(非托管字段)设置为实体属性:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html#custom-hydration-modes
https://stackoverflow.com/questions/10656503
复制相似问题