Persistindo dados

3 respostas
V

Pessoal estou com o seguinte problema eu tenho uma entidade usuario e nessa entidade temos vários telefones ou seja eu tenho uma ArrayList desse tipo

ArrayLIst <String> telefones

minha dúvida é como eu irei passar via hibernate essa lista de objetos do tipo String para o meu banco de dados. Como isso poderia ser feito, existe algum tipo de dados
no sql que seja compativel com o arraylist??

3 Respostas

Henrique.tenorio

Eu criaria uma tabela associativa ou uma nova entidade Telefone usando os Annotations do Hibernate.

V

Isso no java

Então eu criaria uma entidade telefone com esses campos

telefone pessoal
telefone trabalho
telefone opcional

e outra entidade usuário que teria

nome
cpf
senha

já no banco de dados

iria ter uma tabela telefone, tabela usuário e outra tabela Usuário Telefone que associa o id de cada usuário a cada telefone.

Kanin_Dragon

Concordo com nosso amigo Henrique.tenorio. Você precisa criar a entendide telefone, ou melhor, crie uma entidade Contato, onde você terá uma referência a entidade Usuario.

O legal de criar essa entidade Contato é que ela poderá conter todos os tipos de contato, como telefone, email, fax, celular, etc.

Ai você anota sua lista de telefones com @ManyToOne referenciando esse objeto Contato

Um Exemplo simples.

public class Usuario {

@ManyToOne     
private List<Contato> listaTelefone;

.
.
.


}

public class Contato {

@Id
private Integer id;

// Aqui voce pode criar um enum para os tipos de contato (Telefone, Email, ...)
private TipoContatoEnum tipoContato;

private String descricao;

private Usuario usuario;

.
.
.

}

Espero que lhe ajude …

[]s

Criado 4 de fevereiro de 2011
Ultima resposta 4 de fev. de 2011
Respostas 3
Participantes 3