(RESOLVIDO) @OneToMany JPA/Hibernate

Boa noite, de antemão gostaria de dizer que procurei bastante no forum e no google sobre o problema mas pegando os exemplos mesmo assim não consegui chegar a uma solução que na verdade deve ser bem simples. A situação é a seguinte tenho uma classe cliente e outra contato sendo assim um cliente pode ter vários contatos: Realizei o mapamento da seguinte forma:

Cliente.class

@OneToMany(cascade=CascadeType.ALL) private List<Contato> contatos;
Contato.class

@ManyToOne() private Cliente cliente;
Tentei muitas variações mas o erro é sempre o mesmo:

Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: entidades.Cliente.contato Detalhes:
1.) Pensando no banco de dados gostaria que ficasse uma coluna Cliente com o id do cliente na tabela Contato.
2.) Não tenho a necessidade de efetuar um getClientes pelo contato até porque cada contato estará relacionado a um cliente, sendo assim preciso mapear a classe contato também com o @ManyToOne ???

Quem puder ajudar eu agradeço !

montroni,

Tenta o seguinte

Na classe Cliente

você mapeia sua lista da seguinte forma:

@OneToMany(mappedBy="cidade",fetch=FetchType.EAGER)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.ALL)
private List<Contato> contatos;  

Pense sempre pelo lado da da entidade que você está, no caso Cliente você terá:
Um cliente para Muitos contatos, o mappedBy=“cidade” diz que você ta referenciando
o objeto do tipo Cidade que se encontra dentro da sua classe contato.

E no caso da Entidade Contato

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="nome_da_coluna_na_tabela")
@Fetch(FetchMode.JOIN)
private Cliente cliente;

No caso da entidade Contato você terá muitos contatos para um cliente (ManyToOne),
e já que você quer ter uma chave estrangeira dentro da tabela contato, você
coloca o @JoinColumn com o nome da coluna que receberá a chave estrangeira de Cliente.

Tenta ai e ve se da certo…

Obrigado pela ajuda vou tentar aqui esta forma que voce disse, se der certo ja passo como resolvido amanhã mesmo que hoje estou cansado :slight_smile: !

Vlw pela ajuda, o que voce postou ajudou sim mas o problema na verdade estava sendo outro, porque na verdade ele apresenta a o erro por nao existir a tabela, quando realizei a criação do Entity Manager ele gerou as tabelas e a mensagem não foi mais apresentada.