Hibernate e VOs [RESOLVIDO]  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Olá,
Imaginem a seguinte situação (exemplo bem simples):
Existe uma tabela "pessoa" com os campos "id","nome","rua","numero","bairro".
Logo, eu faria o mapeamento da classe "Pessoa" contemplando todas as suas propriedades e atributos, mapeando para os respectivos campos na tabela.




A questão é:
Se eu quiser particionar a classe, criando uma classe Endereco e colocando um getter/setter de Endereco na classe Pessoa, como eu faria isso usando o hibernate? Tem como? Digo, como ficaria o mapeamento disso, uma vez que Endereco não representa uma tabela no banco de dados, é apenas um VO utilizado pela classe Pessoa...
Dúvida básica, eu sei...

Agradeço a atenção!

This message was edited 1 time. Last update was at 17/07/2009 14:05:07


powered by
[WWW]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Uma maneira legal é anotar a classe Endereco com @Embeddable e na classe Pessoa colocar um Endereco e anotar ocm @Embedded assim todos atributos de endereco vão ficar na tabela Pessoa.

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Putz é mesmo! É o que acontece com chaves compostas né...
Valeu!

powered by
[WWW]
Rafael Carneiro
Moderador
[Avatar]

Membro desde: 31/03/2007 12:40:41
Mensagens: 809
Localização: Fortaleza
Offline

Veja esse post no GUJ e entenda o motivo para evitar VOs.

Rafael Carneiro
http://www.rafaelcarneiro.com | @rcarneiro | JForum
[WWW] [MSN]
spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Não vejo problema em utilizar um objeto de valor nesse caso, afinal, o intuito é apenas agrupar os atributos referentes a abstração do tipo Endereco.
Por exemplo, Eric Evans em seu livro sobre Domain-Driven Design cita a necessidade de objetos de valor, ou seja, que não necessitam de identidade.
Exemplo:



Acho que o que pode estar acontecendo é que podemos estar falando sobre VOs diferentes... ou então, o Eric Evans não entende nada de OO, uma vez que um dos intuitos do DDD é justamente reaproximar o desenvolvimento com a OO.
Mas valeu pelo link!

powered by
[WWW]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Talvez ele esteja confundindo com os conceitos de TO e VO, esses sim são desaconselhaveis.

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Isso que eu pensei tbm..

powered by
[WWW]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team