IL SEMBLE QUE VOUS UTILISEZ ADBLOC POUR BLOQUER LA PUBLICITÉ, AUCUNE PUB INTRUSIVE SUR FDZ ET PAS DE POPUP
FDZ EST GRATUIT DONC MERCI DE DÉSACTIVER VOTRE ADBLOCK ET DE BIEN VOULOIR PARTICIPER ET JOUER LE JEU


PAR SUITE D'ABUS LES SERVEURS CCCAM ET ABONNEMENT NE SONT PAS TOLÉRÉS SUR LE FORUM

Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 10 sur 17
Share |

Discussion: Java persistance ? c'est quoi

  1. #1
    Date d'inscription
    octobre 2008
    Localisation
    Ijiljili
    Messages
    25
    Remerciements
    0
    Remercié 0 fois dans 0 messages
    Pouvoir de réputation
    0

    Par défaut Java persistance ? c'est quoi

    Bonjour a tous ,

    je reviens sur ce forum pour echanger autour dre la technologie java,

    je veux que qq un me parle de la persistance sous java , ce mecanisme qui est un
    peu compliqué avec lequel j'ai passé plusieurs heures,

    quelle difference entre JPA, hibernate , toplink, ..

    de ma part , je penseCliquer ici pour agrandir que jpa est une specif et hibernate, toplink, ...son des implementations ?? c'est vrai ou non .

    mais quelle utilité de ce mecanisme ds une application du bureau.

    on peut ollaborer pour apprendre diff packages ? ou specif java ....

  2. #2
    Date d'inscription
    janvier 2008
    Localisation
    Paris
    Messages
    362
    Remerciements
    7
    Remercié 17 fois dans 11 messages
    Pouvoir de réputation
    10

    Par défaut Re : Java persistance ? c'est quoi

    Bonjour,
    C'est exactement ça, JPA est un ensemble de spécifications destinées à standardiser la persistance dans le monde Java. Hibernate (qui existe bien avant JPA) et Toplink implémentent cette dernière. A noter qu'Hibernate proposent d'autres fonctionnalités en plus non présentes dans la spec JPA.

    Le but de la persistance (ou mapping Objet/Relationnel) est de s'affranchir du monde Relationnel/SQL pour ne se concentrer que sur le monde Objet. Avec JPA tu vas pouvoir récupérer tes données SQL sous forme d'objets.

    Genre tu as une table Etudiant dans ta BDD. avec JPA (bien implémenté), tu récupéreras depuis ta BDD directement l'objet de classe Etudiant (différent de la table, donc avec ses différents attributs ). Tu vas aussi pouvoir faire des requêtes de type Objet en langage JPQL.
    Le moteur JPA va se charger de transformer tes requêtes JPQL en requêtes SQL.
    La persistance est une solution à mi chemin entre le Relationnel et l'Objet.
    Par ailleurs, il existe des solutions purement Objet où tu ne passes par aucune transformation. Tout est objet même la BDD.

  3. #3
    Date d'inscription
    octobre 2008
    Localisation
    Ijiljili
    Messages
    25
    Remerciements
    0
    Remercié 0 fois dans 0 messages
    Pouvoir de réputation
    0

    Par défaut Re : Java persistance ? c'est quoi

    Merci bien "BASSIM" pour ton aide ,

    j'ai fait des recherches autour de ce langage proche du sql , et je suis sur le point
    de tester une petite application desktopapp avec netbeans , pour voir ce que je peux conclure.

    un point important (selon les tutos et que je comprend ) est que avec cette technique , on a totalement separé
    la couche metier de la couche acces aux donnees , donc si on veut changer la source de donnees ,
    (changement moteur bd, type, ...) on n' a qu' a modifier les fichiers de config (xml) de JPA??

    c'est un point important . que pensez vous??

    merci encore bassim

  4. #4
    Date d'inscription
    janvier 2008
    Localisation
    Paris
    Messages
    362
    Remerciements
    7
    Remercié 17 fois dans 11 messages
    Pouvoir de réputation
    10

    Par défaut Re : Java persistance ? c'est quoi

    Non, c'e n'est pas grâce à cette "technique". La séparation des couches existe indépendamment des solutions BDD implémentées, même si JPA te permet de t'affranchir d'une BDD particulière.
    Dans la couche DAO, tu vas mettre tes requêtes JPQL ou SQL. Tout dépendra du choix de ton implémentation future.

  5. #5
    Date d'inscription
    octobre 2008
    Localisation
    Ijiljili
    Messages
    25
    Remerciements
    0
    Remercié 0 fois dans 0 messages
    Pouvoir de réputation
    0

    Par défaut Re : Java persistance ? c'est quoi

    bonjour a tous,

    Merci bassim pour vos remarques, je cherche un tres simple exemple avec hibernate (desktop app) , pour comprendre

    le principe,

    j'ai essaye de cree une jframe avec des textfields pour saisir , consulter , modifier les elements d'une simple table

    de personnes, mais elle ne marche pas,

    bassim dit que à la coushe dao qu' on met les requette , pour moi je code directement sur les evenements

    des JBUTTONs,

    (je sais que c'est pas pro, mais je cherche a trouver une architecture bien precise pour mes dev futures)

    si vous avez des shemas pour une organisation ou les etapes à suivre pour developper une app du bureau:

    j'utilise netbeans et j'ai pu faire :


    1- creation unite de persistance
    2- creation entity classes a partir des db
    3- ???

  6. #6
    Date d'inscription
    janvier 2008
    Localisation
    Ile-de-France
    Messages
    8 070
    Remerciements
    275
    Remercié 417 fois dans 209 messages
    Pouvoir de réputation
    10

    Par défaut Re : Java persistance ? c'est quoi

    Salut zaster et Merci à toi bassim pour ces ces informations en Or et tes efforts sur le forum Cliquer ici pour agrandir

    @zaster, je te conseille vivement de commencer avec une application sur console, ni interface ni walou pour commencer avec hibernate, et je te conseille aussi vivement de passer par la framework Spring, car tu seras amené top ou tard et je dirais plutôt tôt que tard à l'utiliser pour intégrer les différentes technos Java.

    Core i7 6700K@
    4Ghz - Noctua NH-U9S
    - Asus Z170-PRO GAMING - DDR4 G.Skill Ripjaws 4 x 8 Go @2800Mhz - KFA2 GTX 980 Ti OC Black Edition 6Go - Toshiba P300 1 To & Sandisk SSD 240 Go - Corsair Vengeance C70 - LEPA MaxBron 650W - LG GH22NS90 - Logitech G710+ & Corsair Gaming M65 - Creative Chat HD 720p - Liyama Prolite GB2488HSU
    متل الرجل الذي يبيع السمك في البحر من امامكم و العدو من وراء كل رجل عظيم امرأة
    -------


    Cliquer ici pour agrandir


  7. #7
    Date d'inscription
    janvier 2008
    Localisation
    Paris
    Messages
    362
    Remerciements
    7
    Remercié 17 fois dans 11 messages
    Pouvoir de réputation
    10

    Par défaut Re : Java persistance ? c'est quoi

    Cliquer ici pour agrandir Envoyé par mouradski Cliquer ici pour agrandir
    Salut zaster et Merci à toi bassim pour ces ces informations en Or et tes efforts sur le forum Cliquer ici pour agrandir
    Tant qu'on peut aider


    Un exemple de persistance JPA

    Java Persistance par la pratique, un cours trés complet, trop complet même. Essayes d'en tirer les informations qui te semblent utiles.

    Une discussion intéressante sur les DAO avec JPA

  8. #8
    java Visiteurs

    Algérie Re : Java persistance ? c'est quoi

    Un exemple :

    supposes que tu veux faire ça : http://yuml.me/diagram/scruffy/class...o%5D%20%20.pdf

    pré requis : jdk 5 ou plus, api hibernate

    crées un projet java sous Eclipse ou autre, ajoutes la librairie hibernate (je te conseils fortement d'utiliser maven, ant ou ivy si tu veux gérer efficacement les dépendances des JAR)

    pour faire plus simple, utilises une base de données embarquée (H2 ou HSQLDB ou derby)

    pour le code,

    voici les classes indiquées dans le schéma yUML

    Classe Todo
    Code:
    package com.abo.todo.entity;
    
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    
    @Entity
    public class Todo {
    
        @Id
        @GeneratedValue(strategy=GenerationType.AUTO)
        private Long id;
    
        private String title;
        private String description;
        /**
         * @return the id
         */
        public final Long getId() {
            return id;
        }
        /**
         * @param id the id to set
         */
        public final void setId(Long id) {
            this.id = id;
        }
        /**
         * @return the title
         */
        public final String getTitle() {
            return title;
        }
        /**
         * @param title the title to set
         */
        public final void setTitle(String title) {
            this.title = title;
        }
        /**
         * @return the description
         */
        public final String getDescription() {
            return description;
        }
        /**
         * @param description the description to set
         */
        public final void setDescription(String description) {
            this.description = description;
        }
    }
    Classe Groupe
    Code:
    package com.abo.todo.entity;
    
    import java.util.List;
    
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    
    @Entity
    public class Groupe {
    
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        @OneToMany(fetch = FetchType.EAGER, mappedBy = "Group")
        private List<Todo> todos;
    
        /**
         * @return the id
         */
        public final Long getId() {
            return id;
        }
    
        /**
         * @param id the id to set
         */
        public final void setId(Long id) {
            this.id = id;
        }
    
        /**
         * @return the todos
         */
        public final List<Todo> getTodos() {
            return todos;
        }
    
        /**
         * @param todos the todos to set
         */
        public final void setTodos(List<Todo> todos) {
            this.todos = todos;
        }
    
    }
    ça c'été pour les entités, pour l'accès aux données (Data Access Object ou DAO)

    voici le code pour les actions de bases concernant Todo, je te laisserais joué avec Groupe plus tard

    Todo DAO
    Code:
    package com.abo.todo.dao;
    
    import java.util.List;
    
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
    
    /**
     * @author a000egs
     *
     */
    public class TodoDao extends HibernateDaoSupport {
    
        /**
         * @param id
         * @return
         */
        @SuppressWarnings("unchecked")
        public Todo findById(Long id) {
            List<Todo> find = getHibernateTemplate().find("from Todo t where t.id = ");
            return (Todo ) ((find.size() == 1) ? (Todo ) find.get(0) : null);
        }
    
        /**
         * @return
         */
        @SuppressWarnings("unchecked")
        public List<Todo> findAll() {
            return getHibernateTemplate().find("from Todo");
        }
    
        /**
         * @param todo
         * @return
         */
        public Long save(Todo todo) {
            return (Long ) getHibernateTemplate().save(todo);
        }
    
        /**
         * @param todo
         */
        public void delete(Todo todo) {
            getHibernateTemplate().delete(todo);
        }
    
        /**
         * @param id
         */
        public void delete(Long id) {
            Todo todoDelete = findById(id);
            if (todoDelete != null)
                delete(todoDelete);
        }
    }
    test :

    crées le fichier ibernate.cfg.xml comme ci-dessous
    Code:
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    
    <hibernate-configuration>
    <session-factory>
    <property name="packagesToScan" value="com.abo.todo" />
    <property name=”hibernate.connection.driver_class”>org.h2.Driver</property>
    <property name=”hibernate.connection.url”>jdbc:h2:path\databaseName</property>
    <property name=”hibernate.connection.username”>sa</property>
    <property name=”hibernate.connection.password”></property>
    <property name=”hibernate.default_schema”>PUBLIC</property>
    <property name=”hibernate.dialect”>org.hibernate.dialect.H2Dialect</property>
    </session-factory>
    </hibernate-configuration>
    le teste unitaire :
    Code:
    package fr.generali.nova.atp.persistence;
    
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.classic.Session;
    
    public class UseCaseTest {
    
        private Session session;
    
        public UseCaseTest() {
            // configuration of hibernate
            SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
            session = sessionFactory.openSession();
        }
        
        @Test
        public void testInsert() {
            
            TodoDao dao = new TodoDao();
            dao.save(new Todo("my todo","this is a description of a todo"));
        }
    }

    pour résumé :

    1. les snippets tels qu'ils sont ne vont pas fonctionés correctement, c'est des bribes pour que tu puisses avoir des pointeurs
    2. pour que tu puisses interagir avec la couche DAO, il faudra que tu instancies la DAO dans la couche de présentation.
    3. c'est clair que ce n'est pas comme ça qu'il faut faire si on veut utilisé Hibernate, l'idéal est de passer par Spring ou un conteneur EJB pour pouvoir utiliser les pattern d'injections et de dépendances qui facilitent le travail, ces bouts de codes ne sont ici que pour un objectif pédagogique.

    si tu veux avoir plus d'information je pourrais partager avec toi un projet sur google Code qui indique une façon de faire plus élégante et plus usuelle.

    Salam
    Dernière modification par java ; 12/04/2011 à 10h21. Motif: yUML updated bacause was not responding

  9. #9
    Date d'inscription
    octobre 2008
    Localisation
    Ijiljili
    Messages
    25
    Remerciements
    0
    Remercié 0 fois dans 0 messages
    Pouvoir de réputation
    0

    Par défaut Re : Java persistance ? c'est quoi

    bonjour a tous,

    et metrci mes pour tous qui ont ecrit sur ce forum ,

    j'essaye de comprendre toute ce que vousavez ecrit et essayer d'executer les prog

    mes salutations

  10. #10
    Date d'inscription
    octobre 2008
    Localisation
    Ijiljili
    Messages
    25
    Remerciements
    0
    Remercié 0 fois dans 0 messages
    Pouvoir de réputation
    0

    Par défaut Re : Java persistance ? c'est quoi

    bonjour,

    Merci a tous pour l'aide ,

    j'ai fait marcher le premier exemple de BASSIM , c'etait un peu simple mais bien pour avancer,

    deux entites "ORDERS" et "CUSTOMER" liés a deux tables "customer" et "order_table"

    j'ai utiliser JPA , sous Netbeans et MySql,

    Le programme, fait les operations d'insertion de verification et de supprission.

    La deuxiemme partie de cet exemple c'etait ds un envirenemet purement J2EE en utilisant les EJB,

    j'ai pas pu la faire (pour le moment ) , ds la prochaine fois quand j'arrive à l'etude des EJB , je serai obligé ...

    Concernat ces dernier codes edité par "JAVA" , j'ai eu des diffeculté pour comprendre la relation

    Mon Programme ----ENTITY ----DAO---- DB

    elle est juste ou cette presentation est mieux

    MON PROG --------------DAO---------------BD
    |
    |
    entity

    --------------------------------------------------

    Autre remarque , vous m'avez oreinté vers l'utilisation de SPRING , mais j'ai en tete d'utiliser struts avant ,

    que pensez vous??? , est ce que struts n'est pas une etape necesaire pour les application web.

    Merci pour votre sugestions et remarques.

Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Réglé] Faille Java : 2 Patchs Correctifs "Java 7 update 7" & "Java 6 update 35" Disponibles
    Par Hicham dans le forum Sécurité Informatique
    Réponses: 5
    Dernier message: 04/09/2012, 16h02
  2. [Problème] Un 0day dans Java – C’est le moment de désactiver Java
    Par ulysse dans le forum Sécurité Informatique
    Réponses: 5
    Dernier message: 28/08/2012, 16h43
  3. Réponses: 20
    Dernier message: 13/08/2012, 12h39
  4. Réponses: 17
    Dernier message: 21/07/2012, 22h39
  5. Problème Java
    Par Madridista dans le forum Windows
    Réponses: 3
    Dernier message: 19/12/2008, 20h49

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
[Auto utilitaire DZ] [Webimag] [Algérie Info] [Guide Algérie] [Mosquée ALBADR MEAUX] [Photographe MARIAGE]

is PageRank Checking Icon