Many-To-One con múltiples entidades de destino

Esto parece simple pero no puedo hacerlo bien:

Hay tres entidades:Fruit, Vegetable ySnack. Snack tiene los camposid, time yfood. La comida es una referencia aya sea una frutao un vegetal Así que básicamente es una relación de muchos a uno / uno a muchos, ya que un solo refrigerio siempre tendrá un solo alimento. Pero hay más de una entidad objetivo.

¿Cómo mapearía esto en Doctrine2?

Una solución simple que habría usado antes de saber que Doctrine2 sería usar dos campos:food_type yfood_id. Pero, ¿cómo puedo hacer una conexión del tipo de alimento a la entidad correcta? Pensé en una serie de JoinColumns pero no puedo encontrar una manera de conectar la entidad correcta. También eché un vistazo a las superclases asignadas porque hay una Columna Discriminadora, pero también parece ser el enfoque incorrecto. Si lo hago bien, la superclase no puede ser una entidad en sí misma, por lo que no puedo crear una entidad alimentaria.

Cualquier ayuda es apreciada. Estoy seguro de que me estoy perdiendo algo simple aquí.

Respuestas a la pregunta(1)

Su respuesta a la pregunta