IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

[EclipseLink] [Derby] [J2SE] Pas de sauvegarde sur persist


Sujet :

JPA Java

  1. #1
    Membre éclairé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 179
    Points : 653
    Points
    653
    Par défaut [EclipseLink] [Derby] [J2SE] Pas de sauvegarde sur persist
    Bonjour,

    Mon problème est simple c'est que j'ai pas d'objet qui soit crée dans la base de donées lorsque que je fais un persiste
    J'ai mon fichier persistence.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.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_1_0.xsd">
      <persistence-unit name="pictureViewerObject" transaction-type="RESOURCE_LOCAL">
     
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>fr.pictureViewer.bean.CD</class>
        <properties>
     
          <property name="eclipselink.jdbc.url" value="jdbc:derby:derbyDB/pictureViewer;create=true"/>
     
          <property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
          <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
          <property name="eclipselink.ddl-generation.output-mode" value="database"/>
        </properties>
     
      </persistence-unit>
    </persistence>
    J'ai mon bean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    package fr.pictureViewer.bean;
     
    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;
     
    /**
     * Bean CD. Représente un CD dans la base de donnée.
     * @author angelsafrania
     * @version 1.0
     * @since 1.0
     */
    @Entity
    @Table(name = "CD")
    public final class CD implements Serializable {
        private static final long serialVersionUID = 6430520189319753432L;
        @Column(name = "nom", nullable = false, unique = true)
        private String name;
        @Id
        @Column(name = "id")
        private Integer id;
        public CD() {
            this((String) null);
        }
        public CD(final String namE) {
            this(null, namE);
        }
        public CD(final Integer iD) {
            this(iD, null);
        }
        public CD(final Integer iD, final String namE) {
            this.setId(iD);
            this.setName(namE);
        }
        public void setName(final String namE) {
            if (namE == null) {
                this.name = "";
            } else {
                this.name = namE;
            }
        }
        public String getName() {
            return this.name;
        }
        public void setId(final Integer iD) {
            if (iD != null && iD.intValue() < 0) {
                throw new IllegalArgumentException(
                        "Un id ne peut être inférieur à 0");
            }
            this.id = iD;
        }
        public Integer getId() {
            return this.id;
        }
    }
    Et mon main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static void main(final String[] args) {
            EntityManagerFactory factory =
                Persistence.createEntityManagerFactory(
                        "pictureViewerObject");
            EntityManager manager = factory.createEntityManager();
            CD cd = new CD();
            cd.setName("exemple");
            manager.persist(cd);
            System.out.println(cd.getId());
            System.out.println(
                    manager.createQuery("SELECT c FROM CD c")
                    .getResultList().size());
        }
    Et j'obtiens les traces suivantes dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [EL Info]: 2009-07-04 14:47:35.506--ServerSession(24763620)--EclipseLink, version: Eclipse Persistence Services - 1.1.2.v20090612-r4475
    [EL Info]: 2009-07-04 14:47:36.695--ServerSession(24763620)--file:/*****/build/classes/-pictureViewerObject login successful
    null
    Donc il semble que j'ai aucun problème dans la création de l'entitymanager, les requêtes semble passer, mais le persist ne veux pas fonctionné...

    Es-ce que quelqu'un aurait une idée sur le problème que je rencontre ?
    L'expérience est une lanterne que l'on porte sur le dos et qui n'eclaire jamais que le chemin parcouru.

    La nature fait les choses sans se presser, et pourtant tout est accompli.

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 179
    Points : 653
    Points
    653
    Par défaut
    J'ai trouvé, j'avais juste pas ouvert de connection avant le persist.
    Pour la postérité des moteurs de recherche voici le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public static void main(final String[] args) {
            EntityManagerFactory factory =
                Persistence.createEntityManagerFactory(
                        "pictureViewerObject");
            EntityManager manager = factory.createEntityManager();
            CD cd = new CD();
            cd.setName("exemple");
            TransactionManager tm = manager.getTransaction();
            tm.begin();
            manager.persist(cd);
            tm.commit();
            tm = manager.getTransaction();
            tm.begin();
            System.out.println(cd.getId());
            System.out.println(
                    manager.createQuery("SELECT c FROM CD c")
                    .getResultList().size());
    }
    L'expérience est une lanterne que l'on porte sur le dos et qui n'eclaire jamais que le chemin parcouru.

    La nature fait les choses sans se presser, et pourtant tout est accompli.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pas de corbeille sur le bureau
    Par daladim dans le forum Windows XP
    Réponses: 5
    Dernier message: 02/10/2005, 20h54
  2. [Access] Ne pas montrer #Error sur un rapport Access
    Par nico33307 dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2005, 23h19
  3. [CSS][IE]background d'affiche pas dans div sur IE
    Par Thomzz dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 21/09/2005, 23h32
  4. pb avec une sauvegarde sur disquette
    Par kivoch dans le forum Débuter
    Réponses: 5
    Dernier message: 09/01/2005, 12h19
  5. sauvegarde sur un serveur distant
    Par nic_moq dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/06/2004, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo