Tenho vários cadastros que precisão de endereço, então criei uma classe Endereco. Como faço para colocar as annotations nos campos, visto que a classe Endereco não representa uma tabela e sim alguns campos de uma tabela (RUA, NUMERO, BAIRRO, Cidade, CEF)? A classe Endereco será usada dentro de Cliente, Fornecedor, Organizacao…
publicclassFornecedor{@Id@Column(name="IDFORNECEDOR")privateintidFornecedor;@Column(name="NOME")privateStringnome;// Aqui. O que devo configurar em Endereco e em Fornecedor, falando de annotation?privateEnderecoendereco;}
Thirteen
Cara o private Endereco endereco é um relacionamento que você quer fazer ?
se for da uma estudada nos tipos de relacionamentos em hibernate, jpa para ver se atende a sua necesidade.
abraços.
M
marcio_teixeira1
Sim, é como se fosse um relacionamento, porém Endereco não é uma tabela, apenas carrega campos de uma tabela. Se alguém tiver alguma sugestão que não seja estudar o Hibernate (que é o que estou fazendo e por isso a dúvida) favor postar.
henriqueluz
Amigo,
por que você não cria uma tabela Endereço e usa ela pra relacionar com as outras?
Criar campos endereço repetidos para várias outras tabelas é sem sentido e desnormaliza suas tabelas.
Um abraço
M
marcio_teixeira1
Pois é, acho que vai ser a sulução. Criar a tabela Endereco ou uma classe base Pessoa com esses dados.
Thirteen
eu vi o seu codigo ai em cima cara, eu pensaria em fazer a tabela endereco e eu tirararia também a classe cidade que você coloco não
tem sentido mesmo fazer do jeito que está.
podemos ajudar melhor da outra forma, porque não tem uma anotação que você pode colocar para fazer o que está pensando.
hugo.hlcxcx
Cara para fazer o que vc quer basta usar a Annotation: @Embeddable na definição da classe. Sendo que nesse caso, não se deve definir uma chave para a classe, já que ela não é uma entidade.