Annotation em classe Endereco

9 respostas
M

Boa tarde.

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…

9 Respostas

isaiaspf

Marcio,

Você quer usar JPA, é isso?
Coloca mais detalhes.

Abraço.

M
public class Endereco {
private String rua;
private String numero;
private String bairro;
private Cidade cidade;
private String cep;
}
public class Fornecedor {
@Id
@Column(name="IDFORNECEDOR")
private int idFornecedor;

@Column(name="NOME")
private String nome;

// Aqui. O que devo configurar em Endereco e em Fornecedor, falando de annotation?
private Endereco endereco;
}
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

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

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.

@Embeddable
public class Endereco  {

// seus atributos aqui

}
M

Valeu, vou testar hoje mesmo.

Criado 15 de julho de 2011
Ultima resposta 20 de jul. de 2011
Respostas 9
Participantes 5