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

JDBC Java Discussion :

[HSQLDB] Sauvegarde de données


Sujet :

JDBC Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut [HSQLDB] Sauvegarde de données
    Salut
    Le socui:
    J'ai un projet ejb, un projet web, les deux sont packagés au final sous forme d'ear.
    Au niveau du projet ejb, j'ai fais quelques insertions simples. Tout se passe bien, cela s'incrémente.
    Le test sur la taille de la liste est OK.

    Le hic vient du côté web. Via mon action, je passe bien au final dans la méthode du DAO. Mais c'est comme s'il n'y avait rien en base.
    Le select ne me remonte aucune entity. Et en affichant la taille de la liste, elle est à 0.

    Pour les détails, j'opère avec une base hsqldb. Mais je suis sensé sauvegarder au niveau d'un file.

    Ci-dessous, le 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
    21
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence 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"
       version="1.0">
    	<persistence-unit name="manager1" transaction-type="RESOURCE_LOCAL">
    		<class>com.iwk.ejb.entity.user.UserEntity</class>
    		<properties>
    			<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
    			<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
    			<property name="hibernate.connection.username" value="sa" />
    			<property name="hibernate.connection.password" value="" />
    			<property name="hibernate.connection.url" value="jdbc:hsqldb:file:database/iWkDataBase" />
    			<property name="hibernate.max_fetch_depth" value="3" />
    			<property name="hibernate.hbm2ddl.auto" value="update" />
    			<property name="hibernate.connection.shutdown" value="true"/>
    		</properties>
    	</persistence-unit>
    </persistence>
    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2012
    Messages : 56
    Points : 84
    Points
    84
    Par défaut
    Salut,

    Je ne pense pas que ce soit la solution à ton problème mais sait-on jamais :

    As-tu bien fait un commit après tes insertions ?
    J'avais du réalisé un compte rendu d'utilisation de hsqldb pendant mes études et je me souviens avoir galéré pendant 1 journée car les données étaient perdues une fois la connection fermée... Un simple commit a suffit à mon bonheur

    Bon courage !

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut
    J'aurai aimé que ce soit ça, mais nan

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut
    j'ai changé de base un temps, mais j'aimerais rester sur hsqldb. Si quelqu'un voit le souci.

    En gros, j'ai ce code qui marche dans un main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("manager1");  
        EntityManager em = emf.createEntityManager();
     
        Query query = em.createQuery("SELECT u FROM UserEntity u");
        ArrayList <UserEntity> listOfUsers =     (ArrayList<UserEntity>) query.getResultList();
        System.out.println(listOfUsers.size() + " utilisateurs sont renseignés en base.");
    Il me retourne bien le nombre de user. Par contre, quand je suis le cheminement logique de mon appli web, j'obtiens 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
         EntityManagerFactory emf = Persistence.createEntityManagerFactory("manager1");  
    	     em = emf.createEntityManager();
     
    		 Query query = em.createQuery("SELECT e FROM UserEntity e");
     
    		 ArrayList <UserEntity> list =  (ArrayList<UserEntity>) query.getResultList();
    Je suis ici au niveau de l'implémentation de mon DAO. Je comprends pas la raison. Est ce la chaine de connex qui est foireuse :

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence 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"
       version="1.0">
    	<persistence-unit name="manager1" transaction-type="RESOURCE_LOCAL">
    		<class>com.iwk.ejb.entity.user.UserEntity</class>
    		<properties>
    			<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
    			<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
    			<property name="hibernate.connection.username" value="sa" />
    			<property name="hibernate.connection.password" value="" />
    			<property name="hibernate.connection.url" value="jdbc:hsqldb:file:database/iwkDataBase" />
    			<property name="hibernate.max_fetch_depth" value="3" />
     			<property name="hibernate.hbm2ddl.auto" value="update" /> 
    			<property name="hibernate.connection.shutdown" value="true"/>
    		</properties>
    	</persistence-unit>
    </persistence>

Discussions similaires

  1. [VB.NET] Comment sauvegarder des données ?
    Par Aspic dans le forum VB.NET
    Réponses: 14
    Dernier message: 15/07/2007, 15h47
  2. Sauvegarde de données dans fichier csv
    Par issou dans le forum C
    Réponses: 1
    Dernier message: 22/12/2005, 08h36
  3. [debutant][XML] sauvegarde de donnée provenant de textbox
    Par moust dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 28/06/2005, 15h22
  4. sauvegarde des données des tables
    Par tomm dans le forum Bases de données
    Réponses: 18
    Dernier message: 27/04/2004, 21h29
  5. [Kylix] Sauvegarde de donnée utilisateur....
    Par Eclypse dans le forum EDI
    Réponses: 1
    Dernier message: 11/05/2002, 17h21

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