1 pièce(s) jointe(s)
Créer une relation @ManyToMany
Bonjour,
J'ai le modèle de données suivant:
Pièce jointe 350108
avec l'entité Eleve suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
@Entity(name = "Eleve")
@Table(name = "eleve")
public class Eleve implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "id", updatable = false, nullable = false)
privateintid;
private String nom;
private String prenom;
@Column(name = "date_naissance")
private Date dateNaissance;
private String adresse;
@ManyToMany(cascade = { CascadeType.ALL })
@JoinTable(name = "cours_eleve", joinColumns = { @JoinColumn(name = "eleve_id") }, inverseJoinColumns = {
@JoinColumn(name = "cours_id") })
public Set<Cours> cours = new HashSet<Cours>();
public Eleve() {
super();
}
public int getId() {
returnid;
}
public void setId(int id) {
this.id = id;
}
public Eleve(String nom, String prenom, Integer annee) {
super();
this.nom = nom;
this.prenom = prenom;
}
public Eleve(String nom, String prenom, Date dateNaissance, String adresse) {
super();
this.nom = nom;
this.prenom = prenom;
this.dateNaissance = dateNaissance;
this.adresse = adresse;
}
public String getNom() {
returnnom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
returnprenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public Date getDateNaissance() {
returndateNaissance;
}
public void setDateNaissance(Date dateNaissance) {
this.dateNaissance = dateNaissance;
}
public String getAdresse() {
returnadresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse;
}
public Set<Cours> getCours() {
returncours;
}
public void setCours(Set<Cours> cours) {
this.cours = cours;
} |
Lorsque j'invoque cette entité, j'ai le message d'erreur suivant qui est généré par la relation @manytoone (si je l'enlève, tout fonctionne parfaitement):
Citation:
Exception in thread "main" javax.ejb.EJBException: java.rmi.MarshalException: CORBA MARSHAL 1330446347 Maybe; nested exception is: org.omg.CORBA.MARSHAL: AVERTISSEMENT: 00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: OMG minor code: 11 completed: Maybe
at ch.myapp.bean._MySessionBeanRemote_Wrapper.findEleveById(ch/myapp/bean/_MySessionBeanRemote_Wrapper.java)
at ch.myapp.test.datasource.EJBTester.<init>(EJBTester.java:46)
at ch.myapp.test.datasource.EJBTester.main(EJBTester.java:74)
Caused by: java.rmi.MarshalException: CORBA MARSHAL 1330446347 Maybe; nested exception is:
org.omg.CORBA.MARSHAL: AVERTISSEMENT: 00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: OMG minor code: 11 completed: Maybe
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:267)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:201)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:140)
at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226)
at ch.myapp.bean.__MySessionBeanRemote_Remote_DynamicStub.findEleveById(ch/myapp/bean/__MySessionBeanRemote_Remote_DynamicStub.java)
... 3 more
Caused by: org.omg.CORBA.MARSHAL: AVERTISSEMENT: 00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: OMG minor code: 11 completed: Maybe
at com.sun.proxy.$Proxy19.valuehandlerReadException(Unknown Source)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:826)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:921)
at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:518)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:383)
at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:482)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:191)
... 6 more
Caused by: java.io.StreamCorruptedException: AVERTISSEMENT: ORBIO00013: Stream corrupted
at com.sun.proxy.$Proxy69.streamCorrupted(Unknown Source)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2527)
at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java:1627)
at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:348)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:311)
at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:277)
at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:819)
... 11 more
Qu'est-ce que je fais faux ?
Merci