多级判别器映射原则

I've got a 3 level table inheritance, and when I attempt to insert into the database, Doctrine is sensible enough to insert at the lowest level, and the highest level - but not at the middle level.

I'm unsure whether what we're attempting to do is properly supported by Doctrine - the lack of examples on the docs and Google suggest that it might not be. If it is supported, what could I be doing wrong?

EDIT:

A slightly better explanation:

I have 3 tables (A, B and C). I've got a discriminator map such that C extends B, and B extends A. When I try an insert into Table A then Doctrine is clever enough to insert into C and A, but not B.