Tenho alguns objetos de valor que possuem coleções de outros objetos de valor.
Vejam no diagrama de classes… Minha classe Orcamento possui uma coleção de objetos de valor ItemOrcamento, que possui uma coleção de objetos de valor ParteDeItem, que tem uma coleção de objetos de valor MaterialDoItem.
Tem algum problema fazer isso?
O hibernate terá algum problema em tratar esses objetos?
Notem que o ciclo de vida de cada objeto de valor é controlado pelo objeto proprietário do objeto de valor.
Serei obrigado a implementar equals() e hashcode() ?
Não tem problema não porém, vc tem que tomar alguns cuidados na hora de inicializar as colections.
Sugestão, olhe o material no proprio site do hibernate em documentations que tem várias dicas sobre como melhorar o desempenho.
Não vejo nem problema de implementação nesta hierarquia de classes. A unica recomentação e popular todas somente quando necessario.
Utilize por padrão o atributo de busca preguiçosa (lazy=true) trazendo apenas o objeto que vc vai trabalhar e popule as remificações abaixo somente quando for acessa-las.
Quanto a equals e hashcode costumo sugerir a leitura dessa pagina -> http://www.hibernate.org/109.html
