Personnellement je ferais 3 classes : 1 pour chaque entité qui a besoin de commentaire et 1 classe parente qui contiendra les champs "communs". De cette manière tu peux toujours ajouter des champs propres à l'entité de base (donc tu auras autant de table de commentaire que tu auras d'entité, ici deux).
Un peu comme FOSUserBundle où tu viens étendre la classe mère pour y ajouter les champs perso.
Je trouve ça mieux après pour organiser ton code/tes requêtes. Après comme tu le dis y'a plusieurs solutions, à toi de voir.