Héritage et relations oneToMany/manyToOne

cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 30 août 2010 à 17:03
Kidator Messages postés 16 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 31 août 2010 - 31 août 2010 à 15:59
Bonjour à tous,
j'ai un problème pour mettre en oeuvre l'héritage avec les différentes relation entre les classes java:

la configuration est la suivante:
un Annonceur qui peut créer une à plusieurs annonces
une classe abstraite Annonce
une classe concrète Evenement héritant de la classe Annonce

package entity;

@Entity
public class Annonceur {

private Integer id;
private ArrayList liste_annonces;


public ArrayList getListe_annonces() {
return liste_annonces;
}

public void setListe_annonces(ArrayList liste_annonces) {
this.liste_annonces = liste_annonces;
}

public Annonceur(){liste_annonces=new ArrayList();};

@OneToMany(mappedBy "annonceur", cascade { CascadeType.PERSIST })


@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}


}



@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Annonce implements Serializable{
private Integer id;
private Annonceur  annonceur;
public Annonce(){};

@ManyToOne(fetch=FetchType.LAZY)
public Annonceur getAnnonceur() {
return annonceur;
}
public void setAnnonceur(Annonceur annonceur) {
this.annonceur = annonceur;
}
private static final long serialVersionUID = -1560458286223159429L;
@SuppressWarnings("unused")
@Version
private int version;

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}	
}


@Entity
public class Evenement extends Annonce {
...
}


l'exeption générée:
Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany


merci de m'aider
A voir également:

1 réponse

Kidator Messages postés 16 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 31 août 2010
31 août 2010 à 15:59
Salut,

je sais pas trop mais est-ce que le point virgule est normal :

public Annonceur(){liste_annonces=new ArrayList();};

ps : dsl de ne pas pouvoir aider plus.

Bonne chance!


Kidator.
0