Dúvida na criação de Tabelas do BD para relacionar com modelo OO

Pessoal, tenho as seguintes classes
dieta
refeicao(classe abstrata)
desejum (extende refeição)
colação (extende refeição)
almoço (extende refeição)
lanche da tarde (extende refeição)
jantar (extende refeição)
lanche noturno (extende refeição)
A dieta tem uma instancia de cada uma da 6 classes que extende a refeicao. Minha dúvida é a seguinte qual melhor método de criar uma tabela para isso? Devo criar 6 tabelas todas elas com os mesmos campos?
Aguem sugere algo?

Veja as estrategias possiveis no link abaixo:

http://www.hibernate.org/hib_docs/reference/en/html/inheritance.html#inheritance-strategies

Mesmo que você não esteja usando hibernate as regras são as mesmas.

Estou usando o hibernate sim! Vlw ae, vou dar uma olhada no link!

[quote=jairelton]Veja as estrategias possiveis no link abaixo:

http://www.hibernate.org/hib_docs/reference/en/html/inheritance.html#inheritance-strategies

Mesmo que você não esteja usando hibernate as regras são as mesmas.[/quote]

Olhei o link e optei por essa estratégia: Table per class hierarchy
Mas fiquei na seguinte dúvida, utilizando o exemplo dado lá, suponha que eu tenho uma classe com uma coleção para cada classe que implementa pagamento :

public class Contabilidade{
     private Set dinheiro;
     private Set cartao;
     private Set cheque;
}

essas 3 coleções de objetos seriam populadas automáticamente através do mapeamento realizado?

Se você fizer o relacionamento com a subclasse, sim, pois cada subclasse é uma entidade distinta, o hibernate saberá distingui-las.