Hibernate - Chave Estrangeira Condicional

Tenho quatro tabelas de níveis: Nivel1, Nivel2, Nivel3, Nivel4. Cada tabela possui id, descrição e outras colunas.

Cada registro da tabela Nivel1 pode conter vários registros referenciados na tabela Nivel2.
Cada registro da tabela Nivel2 pode conter vários registros referenciados na tabela Nivel3.
Cada registro da tabela Nivel3 pode conter vários registros referenciados na tabela Nivel4.

Também tenho uma tabela Contas onde cada conta está classificada e referenciada a apenas um destes níveis. Esta tabela possui id, descrição, número do nível, id do nível e outras colunas.

É possível mapear (com anotações) a entidade Contas a apenas um dos quatro níveis de acordo com o número do nível(condição)? Ou, sou obrigado a associar a entidade Contas aos quatro níveis tendo nulo para os níveis 2 a 4 quando o nível da conta for 1?