Modelagem de classes com relacionamento bidirecional

Oi,

estou com uma dúvida na modelagem de umas classes java; será que você poderia me ajudar? É o seguinte:

Suponha as entidades Curso e Disciplina e que cada curso tenha várias disciplinas cadastradas, e ainda que cada disciplina só pertença a um único curso. A dúvida é se devo manter um relacionamento bidirecional entre as duas classes, em código:

class Curso{

private Collection disciplinas;

}

class Disciplina{

private Curso curso;

}

ou se a referência na classe curso já é suficiente?

Encontrei o código com a referência bidirecional num tutorial de hibernate e me causou certa estranheza do ponto de vista de modelagem, apesar de que se eu manter esse relacionamento vai ser muito mais fácil ter TODAS as informações de cada uma das entidades.

Existe um padrão correto ou, pelo menos, mais correto a ser adotado?

Grato desde já,
Emanuel

Todas as formas são corretas, depende do que você quer, se você faz o relacionamento bidirecional a partir da disciplina você consegue saber a qual curso ela pertence e a partir do curso você consegue descobrir quais disciplinas ele tem, se é isso mesmo que quer, faça assim…

As duas formas podem ser utilizadas, mas eu acho q se vc pode evitar esse duplo relacinonamento diminuindo assim o acoplamento entre as duas classes pode deixar o seu projeto mais estético e com maiores possibilidades de expansão

é só um achismo meu