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

Hibernate Java Discussion :

hql: convertion de string en date


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut hql: convertion de string en date
    Bonjour

    donc j'essay de faire un update sur une colonne date à partir des valeurs d'une colonne varchar, j'etulise hibernate 3 parceque mon application est multi sgbdr, pour le moment je test sur sybase et oracle.

    pour convertir les valeurs j'etulise cast(fieldString as date),
    les valeurs de fieldString je les changes en differentes formats, et le probleme c'est quand ça marche pour oracle ça ne marche pas pour sybase et l'inverse est juste.

    est ce qu'il y a une façon de convertir les string en date que je peut utliser dans ce cas, comme le to_date pour oracle (super fonction ).

    j'evite le .setDate(madate) ça rendra l'application trop lourde si je dois faire une boucle sur les lignes


    j'avance mes meilleures voeux pour 2007

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    La conversion de String en Date sera probablement plus lourde qu'un setDate (vu qu'il faut parser la chaine pour reconnaître la date) dans ton cas tu utilisera probablement SimpleDateFormat.

    L'avantage du setDate est qu'il permet de s'abstraire du format de date utilisé par le SGBD, et ce format peut varier d'un moteur à l'autre et d'une install à l'autre

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    merci sinok.

    effictivement, je crois que je n'ai pas le choix, à par .setDate().

    ça sera lourd du faite que je dois faire un select d'abors sur les lignes qui m'interese, et faire une boucle sur les valeurs de la colonne string, ces lignes peuvent dépasser facilement le nombre de 3000, ce qui fais la boucle va étre longue.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    me revoilà et donc bonne année 2007

    les insertion des dates avec les setDate ça marche trés bien

    maintenent j'ai d'autres problemes

    quand j'ai plusieurs lignes a mettre a jour je me trouve avec le programme bloquer et "java heap space"

    voilà mon 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
    20
    21
    22
    23
    24
    25
    26
    27
        Iterator it =null;
        try{
         Query query = SmatchEAI.session.createQuery("select distinct(B.fieldString) from maTable B ")
         it = query.list().iterator();
         session.flush();
         session.clear();
         sessions.evictQueries();
         session.getTransaction().commit();
       }catch(java.lang.Exception exp){System.out.println("exp1 "+exp);}
       SmatchEAI.session.beginTransaction();
       java.text.SimpleDateFormat formateur = new java.text.SimpleDateFormat(format);
     
       try{   
         while (it.hasNext())
         {
           Object row = (Object) it.next();
           String ValueField = row.toString();
           SmatchEAI.session.createQuery(update maTable A set A.FieldDAte=:dateValue ")
               .setDate("dateValue", formateur.parse(ValueField))
                .executeUpdate();
           session.flush();
           session.clear();
           sessions.evictQueries();
        } //fin iterator
        it =null;
      session.getTransaction().commit();
      }catch(java.lang.Exception exp){System.out.println("exp2 "+exp);}
    comment je peux trouver solution a se probleme, même si c'est autres chose que le hql.
    est ce que je fais des erreurs peut etre dans mon code

    j'ai serieusement besoin d'aide
    merci d'avance

Discussions similaires

  1. Convertion string en date
    Par miabi dans le forum Développement
    Réponses: 4
    Dernier message: 13/01/2012, 09h46
  2. Convert String to Date
    Par bibouex dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 18/05/2011, 15h47
  3. convertion d'un String en date dans jTextfield
    Par ra'uf dans le forum Composants
    Réponses: 5
    Dernier message: 03/06/2009, 13h29
  4. Convertion de String en Date("ddMMyy")
    Par Saten dans le forum C#
    Réponses: 12
    Dernier message: 23/10/2008, 15h04
  5. convertion d'une string en date
    Par robert_trudel dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 02/07/2008, 19h04

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