«Может ли внешний ключ быть в абстрактном классе?» -> да
"если один из детей не использует его?" -> тогда это нулевая ссылка там
«Должны ли члены транспортного средства быть защищены?» -> если у вас есть общедоступный метод получения / установки нет , в противном случае, если вам нужно получить / установить без публичного получения / установки, тогда да
имя таблицы абстрактного класса и других классов различны. Обычно наследующие классы не имеют @Table
аннотации