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 :

Question sur l'objet de Time de JPA


Sujet :

JPA Java

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut Question sur l'objet de Time de JPA
    Bpnjour à tous,
    je suis étudiant en Bts Iris et je dois réaliser une application de type CRUD en java. J'utilise JPA et hybernate pour assurer la persistance. Jusque là j'ai réussi à résoudre mes problème seul mais là je coince.
    Mon problème est que je veut stocker 2 dates dans une bdd.
    J'ai une entity PlageHoraire qui contient 2 attributs : @Temporal(TemporalType.TIME)
    private Date debutPlage;
    @Temporal(TemporalType.TIME)
    private Date finPlage;
    je veut récupérer une heure sous la forme HHmm dans mon IHM.
    La question est, à quelle moment et comment je doit faire le formatage de mon heure?

    J'esper avoir été clair dans mon explication.
    Bonne journée.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    lors de son affichage, un objet Date, en java, n'a pas de format intrinsèque, il est absolu.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut
    L'objet Date de jpa est de quelle forme en faite? Quand je lui passe un objet date java sans formatage (en milliseconde) il me stock une date sous la forme jour mois jour hh mm ss année.
    Moi ce que je veut c'est hh mm comment je fait pour que jpa le stock sous cette forme?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    qu'est-ce que tu entends par "il me stock une date sous la forme jour mois jour hh mm ss année". Il stocke un opbjet "date" et comme déjà dit "date" n'a pas de format, donc ce que tu dit n'a pas de sens.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut
    Voila mon code qui récupère et qui fait le add()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PlageHoraireService pHServ=EntrepriseServiceFactory.getPlageHoraireService();
            Time dateDebut = new Time(Long.valueOf(this.jTextFieldDateDebutPlageHoraire.getText()));
    //    SimpleDateFormat(dateDebut);
            Time dateFin = new Time(Long.valueOf(jTextFieldDateFinPlageHoraire.getText()));
            PlageHoraire ph = new PlageHoraire(dateDebut, dateFin);
            try {
                pHServ.add(ph);
                this.refrechTablePlageHoraire(pHServ.getAll());
            } catch (Exception ex) {
                Logger.getLogger(IHM.class.getName()).log(Level.SEVERE, null, ex);
            }
    Par exemple j'ai testé en entrant 112233 dans mon champ dateDebut
    Quand je regarde dans la base de donnée jpa a ajouté Thu Apr 15 11:16:48 CEST 2010.
    Quand pensez vous?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    regarde du coté de ta base de donnée, je suppose que tu a utilisé un type "timestamp" plutot qu'un type time lors de la création des colonnes.


    JPA va juste prendre l'objet Date, le passer au driver JDBC de ta base de donnée qui en fera ce qu'elle devra en faire. Quand il voudra récupérer plus tard le champ, le driver lui retournera un objet Date que JPE ira sagement mettre dans ton bean. Dans tous les cas, JPA n'est pas responsable de la manière don ta DB affiche le champs lors d'un select dans sa console (ça, c'est la popotte de la db)

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut
    Ce que je comprend pas c'est que je crée des attribut de type Date et pas de type Time.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        @Temporal(TemporalType.TIME)
        private Date debutPlage;
        @Temporal(TemporalType.TIME)
        private Date finPlage;
     
        public PlageHoraire() {
        }
     
        public PlageHoraire(Date debutPlage, Date finPlage) {
            this.debutPlage = new Date();
            this.finPlage = new  Date();
        }
    Je suis désolé mais je ne comprend pas comment faire pour que je rentre une heure sous le format HH mm et que jpa mette cette heure dans ma bdd sous le même format.

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Date n'a pas de format. Par conséquent tu ne file pas à JPA "une heure sous le format HH mm" mais une "objet de type Date", point! Le formatage, c'est le boulot de la GUI. En l'occurence, ce genre de code.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(new SimpleDateFormat("HH:mm").format(maPlageHoraire.getDebutPlage()));
    Pour ce qui est de faire un "select" dans ta console SQL, c'est la popotte de ton serveur sql de formater ça, il fournis surement aussi des méthodes pour choisir la manière d'afficher la donnée. Dans ta base de donnée non plus, a priori, il n'y a pas de format puisque tu as prix, je suppose, une colonne de type TIME lorsque tu a fait ton create de la table en question.

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut
    Ce n'est pas du tous possible de donner à jpa une date formaté en hh mm?

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    si c'est formaté, ce n'est plus une date, c'est un String. Le formattage sert à convertir une date de et vers une String....

  11. #11
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut
    Ok merci beaucoup je vais changer ma Date en String comme ca je pourrai en faire ce que je veut.
    Bonne journée.

  12. #12
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Citation Envoyé par javacolas Voir le message
    Ok merci beaucoup je vais changer ma Date en String comme ca je pourrai en faire ce que je veut.
    Bonne journée.




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

Discussions similaires

  1. Question sur l'objet soundplayer
    Par sayfouche dans le forum C#
    Réponses: 5
    Dernier message: 07/06/2008, 23h20
  2. Question sur les objets
    Par tosqualler dans le forum MFC
    Réponses: 8
    Dernier message: 18/01/2008, 00h01
  3. Une question sur les objets en VBA
    Par deubelte dans le forum Général VBA
    Réponses: 5
    Dernier message: 12/10/2007, 17h07
  4. Question sur l'objet window
    Par renaud26 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/07/2006, 18h05
  5. question sur les objets
    Par afrikha dans le forum Langage
    Réponses: 14
    Dernier message: 07/12/2005, 15h21

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