Création table association @manytomany
Bonjour,
Je n ' arrive pas à creer ma table d' association @manytomany en stratégie top down sous netbeans
Voici mon code JPA pour l' association @manytomany
table internaute
Code:
1 2 3 4
|
@ManyToMany
@JoinTable(name = "Reservation", joinColumns = @JoinColumn(name = "listemail",referencedColumnName="email"),
inverseJoinColumns = @JoinColumn(name = "listseance",referencedColumnName="idseance")) |
et de l' autre coté
table seance
Code:
1 2 3 4 5 6 7
|
@ManyToMany(mappedBy = "seances")
Set<Internaute>interno;
public Set<Internaute> getInterno()
{
return interno;
} |
Lorsque j 'effectue mon deploiement j' ai bien les tables internaute et seance mais je n' ai pas la table Reservation qui fait l' association malgré
l' utilisation de @JoinTable
Es ce bien la bonne méthode ou ai-je oublié quelque chose pour que la base de donnée soit bien crée ?
Merci d' avance
Debloc.....
mon fichier persistence xml
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
|
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="FilmsgestionPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>exploit</jta-data-source>
<class>modeles.webscope.Artiste</class>
<class>modeles.webscope.Film</class>
<class>modeles.webscope.FilmV</class>
<class>modeles.webscope.Genre</class>
<class>modeles.webscope.Internaute</class>
<class>modeles.webscope.Notation</class>
<class>modeles.webscope.Reservation</class>
<class>modeles.webscope.Pays</class>
<class>modeles.webscope.Reportage</class>
<class>modeles.webscope.Rule</class>
<class>modeles.webscope.Salledecinema</class>
<class>modeles.webscope.Seance</class>
<class>modeles.webscope.Video</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence> |
implementation classe reservation
Bonjour
Voici la classe Reservation comme je l' ai implémenté:
j' ai fait un essai ultime en mettant deux associations
@OnetoMany vers les deux classes de l' association mais çà ne marche pas non plus !!!
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
|
package modeles.webscope;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;
/**
*
* @author miguel
*/
@Entity
@Table(name="Reservation" ,schema="webscope")
public class Reservation implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Integer idreservation;
public void setIdreservation(Integer i) {idreservation = i;}
public Integer getIdreservation() {return idreservation;}
@Column
private String email;
public void setEmail(String e) {email = e;}
public String getEmail() {return email;}
@Column
private Integer idseance;
public void setIdseance(Integer is) {idseance = is;}
public Integer getIdseance() {return idseance;}
@Column
private Integer nbplaces;
public void setNbplaces(Integer nbp) {nbplaces = nbp;}
public Integer getNbplaces() {return nbplaces;}
@OneToMany //essayé de faire un mapping comme ceci pour avoir la table lors du déploiement
@JoinColumn(name = "idseance")
private Set<Seance>seances = new HashSet<Seance>();
public Set<Seance> getSeances()
{
return seances;
}
public void setSeances(Set<Seance>sea)
{
this.seances = sea;
}
@OneToMany
@JoinColumn(name = "email")
private Set<Internaute>internautes = new HashSet<Internaute>();
public Set<Internaute> getInternautes()
{
return internautes;
}
public void setInternautes(Set<Internaute>inte)
{
this.internautes = inte;
}
} |