Olá Eduardo,
Sim, na estratégia "joined" é necessário saber o tipo de cada registro na tabela "Animal" para fazer o join corretamente entre "Mamifero" ou "Reptil". Isso ocorre porque na estratégia "joined" cada classe filha tem sua própria tabela e o relacionamento entre elas é feito através de uma chave estrangeira que referencia a tabela pai.
Dessa forma, ao realizar uma consulta que envolva as tabelas "Mamifero" e "Reptil", é necessário fazer um join com a tabela "Animal" para obter as informações que são comuns a ambas as classes filhas.
Por exemplo, suponha que você queira obter o nome e a idade de todos os animais que são mamíferos. Nesse caso, a consulta SQL seria algo como:
SELECT a.nome, m.idade
FROM Animal a
JOIN Mamifero m ON a.id = m.id
WHERE a.tipo = 'Mamifero'
Observe que é necessário fazer o join com a tabela "Animal" para obter o tipo de cada registro e filtrar apenas os que são mamíferos.
Espero ter ajudado e bons estudos!