Erro hibernate org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany

08/03/2016

1

Estou começando a aprender sobre Hibernate e estou tendo problemas para criar as tabelas no banco de dados, pois tem sido exibido erro referente a ligação entre as tabelas "Colaborador" e "Evento".

mar 08, 2016 9:38:29 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
mar 08, 2016 9:38:29 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.8.Final}
mar 08, 2016 9:38:29 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
mar 08, 2016 9:38:29 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: Associacao] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at bd.systems.associacao.jpa.TesteJPA.main(TesteJPA.java:19)
Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: bd.systems.associacao.model.Colaborador.evento
at org.hibernate.cfg.annotations.CollectionBinder.getCollectionBinder(CollectionBinder.java:327)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1719)
at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:766)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:685)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3443)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3397)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1341)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1737)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
... 5 more



Segue o código da minha Entity "Colaborador", a qual tem sido frisada no erro do Hibernate.
 @ManagedBean
 @SessionScoped
 @Entity
 @Table (name="Colaborador")
 public class Colaborador implements java.io.Serializable        {

  @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
  private Integer id;
  private String nome;
  private String endereco;
  private String bairro;
  private String cidade;
  private String estado;
  private String telRes;
  private String telCel;
  @ManyToMany
  @JoinColumn(name = "funcaoId")
  private Funcao funcao;
  @ManyToMany
  @JoinColumn(name = "eventoId")
  private Evento evento;
  private boolean ativo;
  //Getters and setters



E a Entity "Evento".
@ManagedBean
@SessionScoped
@Entity
@Table (name="Evento")
public class Evento implements java.io.Serializable {

@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
private String descricao;
private int diasProgramacao;
@Temporal(TemporalType.DATE)
private LocalDate dataInicioEvento;
@Temporal(TemporalType.DATE)
private LocalDate dataFinalEvento;
private int horario;
private int duracaoEvento;
private int qtdeMaximaParticipantes;
private boolean ativo;
//Getters and setters


Não consegui compreender sobre o que está ocorrendo e como resolver esse problema. Desde já agradeço por qualquer ajuda dos colegas.
Responder

Posts

11/03/2016

Bruno Silva

Já resolvido.
Responder

29/01/2017

Leozir Junior

Boa tarde, como resolveu este erro? Se puder postar agradeço! Abraço!
Responder