Précédent   Forum du club des développeurs et IT Pro > Java > EDI et OUTILS pour Java > NetBeans
NetBeans Forum d'entraide NetBeans. Avant de poster -> Ressources NetBeans - La F.A.Q NetBeans - Tutoriels NetBeans
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/11/2012, 23h32   #1
lollita2321
Invité de passage
 
Inscription : novembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 7
Points : 1
Points : 1
Par défaut Table qui ne se génère pas

Bonsoir .
Je travaille sur Netbeans 7.1 dans le cadre d'un projet sur les EJB3.
J'ai cree une Base de donnee vide (ou je veux mette mes tables).
J'ai cree ma classe entite et j'ai mentionnee le data-source,

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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entities;
 
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
/**
 *
 * @author user
 */
@Entity(name="CompteBancaire")
@Table(name = "CompteBancaire")
public class CompteBancaire implements Serializable {
    private static final long serialVersionUID = 1L;
 
 
    @Id
    @Column(name = "id", nullable = false)
    @GeneratedValue(strategy = GenerationType.AUTO)
    private String id;
 
    public String getId() {
        return id;
    }
 
    public void setId(String id) {
        this.id = id;
    }
 
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }
 
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof CompteBancaire)) {
            return false;
        }
        CompteBancaire other = (CompteBancaire) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }
 
    @Override
    public String toString() {
        return "entities.CompteBancaire[ id=" + id + " ]";
    }
    @Column(name = "proprietaire")
    String owner;
    @Column(name = "solde")
    int solde;
 
    public String getOwner() {
        return owner;
    }
 
    public void setOwner(String owner) {
        this.owner = owner;
    }
 
    public int getSolde() {
        return solde;
    }
 
    public void setSolde(int solde) {
        this.solde = solde;
    }
 
    public CompteBancaire(String id, String owner, int solde) {
        this.id = id;
        this.owner = owner;
        this.solde = solde;
    }
 
    public CompteBancaire() {
    }
 
}
de meme j'ai cree le session bean:

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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package session;
 
import entities.CompteBancaire;
import java.util.List;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
 
/**
 *
 * @author user
 */
@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
@LocalBean
public class GestionnaireDeBanque {
    @PersistenceContext(unitName = "GestionnaireDeBanque-ejbPU")
    private EntityManager em;
 
    public void creerCompte(CompteBancaire c) {
 
        c=new CompteBancaire();
        em.persist(c);
    }
 public List<CompteBancaire> getAllComptes() {
        return null;
    }
 
    public void persist(Object object) {
        em.persist(object);
    }
 
   public void creerComptesTest() {  
   creerCompte(new CompteBancaire("c1","John Lennon", 150000));  
   creerCompte(new CompteBancaire("c2","Cartney", 950000));  
   creerCompte(new CompteBancaire("C3","Ringo Starr", 20000));  
   creerCompte(new CompteBancaire("c4","Georges Harrisson", 100000));  
}  
}
Lorsque je deploie le projet ,ma table "Compte bancaire" ne se cree pas , c'ei le probleme SVP ?

Voici le fichier persistance.xml:
Code :
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="GestionnaireDeBanque-ejbPU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>Banque</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
    </properties>
  </persistence-unit>
</persistence>
lollita2321 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2012, 01h36   #2
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur JAVA / XML
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 849
Points : 1 294
Points : 1 294
tu es sûre que ton datasource s'appelle "Banque" ?
en général ça ressemble plus à "jdbc/banque"
es-tu sûr que l'utilisateur associée à ton pool de connexions a bien tous les privilèges ? (en l'occurence la création de tables).

Comment as-tu configuré ta ressource JDBC et ton pool de connexions ?
Ca ping dans GlassFish ?

si tu veux initialiser ta base essaye d'annoter une classe avec @Singleton et @Startup. Dedans tu fais une méthode public void init() qui est annotée avec @PostContruct. Tu peux alors faire référence à un EntityManager pour insérer en base

@Singleton est un EJB Singleton comme son nom l'indique.
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2012, 14h26   #3
lollita2321
Invité de passage
 
Inscription : novembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 7
Points : 1
Points : 1
Merci beaucoup !! J'ai fixé mon problème.
lollita2321 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2012, 14h38   #4
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur JAVA / XML
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 849
Points : 1 294
Points : 1 294
Citation:
Envoyé par lollita2321 Voir le message
Merci beaucoup !! J'ai fixé mon problème.



et c'était quoi finalement ton problème ? (pour ceux qui auraient le même problème).
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h24.


 
 
 
 
Partenaires

Hébergement Web