douzhuolong9886 2012-03-27 16:31
浏览 39
已采纳

Doctrine 2关联继承与不同的类

I'm using Doctrine 2 and single table inheritance, my topmost entity hierarchy is:

JS_File --> [one to many] --> JS_File_Version

And then my sub-class entity hierarchy is:

JS_Image (extends JS_File) --> [one to many] --> JS_Image_Version (extends JS_File_Version)

The inheritance mapping works perfectly for JS_File and JS_Image, and the association mapping works perfectly for JS_File --> JS_File_Version. But, when it comes to map the "versions" association on JS_Image I get:

'Property "versions" in "JS_Image" was already declared, but it must be declared only once'

I understand why this is, the association is being inherited from JS_File and I can't overwrite it, but how do I achieve what I'm trying to do? Basically, with inheritance, how can I tell Doctrine to use a different targetEntity for the sub-classes association.

  • 写回答

2条回答 默认 最新

  • duanji8887 2012-03-29 09:38
    关注

    Looks like what I'm trying to do isn't possible (having both JS_File and JS_Image as concrete entities). I've followed the advice of someone from the doctrine-user mailing list instead:

    The way I solved this was to use an abstract base class and then define the actual mappings on the subclasses. For example, you could do something like:

    JS_AbstractFile with subclasses: JS_File and JS_Image JS_AbstractVersion with subclasses: JS_FileVersion and JS_ImageVersion

    AbstractFile and AbstractVersion can define the property (and getter/setters) but you shouldn't define any mapping information for the field. Then in your subclass you re-define the property along with mapping information (at least, thats how I did it since I used annotations)

    http://groups.google.com/group/doctrine-user/msg/243f355191d3a512

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法