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 :

Types date et Timestamp


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut Types date et Timestamp
    Bonjour,

    je veux récupérer des données dont certaines sont de type Timestamp en base. Le problème est que j'obtiens l'exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [17:37:03,312 ] DEBUG org.hibernate.util.JDBCExceptionReporter - could not execute query [SELECT DNAME, DFULLNAME, DUSERARRIVEDATE, DUSERCHANGEDATE FROM USERS , USERSECURITYATTRIBUTES WHERE USERS.DNAME=USERSECURITYATTRIBUTES.DUSERNAME AND USERSECURITYATTRIBUTES.DATTRIBUTETYPE='role' AND USERSECURITYATTRIBUTES.DATTRIBUTENAME='PubAdmin']
    java.sql.SQLException: ORA-03115: type de réseau ou représentation non pris en compte
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
    	at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
    ...
    [17:37:03,343 ] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 3115, SQLState: 63000
    [17:37:03,359 ] ERROR org.hibernate.util.JDBCExceptionReporter - ORA-03115: type de réseau ou représentation non pris en compte
    Mon mapping est le suivant :
    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
    	<class name="PublicateurBean" table="USERS" >
    		<id name="nom" type="string">
                <column name="DNAME" length="50" />
                <generator class="assigned" />
            </id>
            <property name="nomComplet" type="string">
                <column name="DFULLNAME" length="50" />
            </property>
            <property name="dateCreation" type="timestamp">
                <column name="DUSERARRIVEDATE" length="11" />
            </property>
            <property name="dateDerniereUtilisation" type="timestamp">
                <column name="DUSERCHANGEDATE" length="11" />
            </property>
    </class>
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    public class PublicateurBean implements java.io.Serializable
    {
    	private String nom;
    	private String nomComplet;
    	private List<RoleBean> listRoles;
    	private List<String> listCompte;
    	private Date dateCreation;
    	private Date dateDerniereUtilisation;
    	private int nbDocs;
     
     
    	public PublicateurBean() {
    		super();
    	}
     
    	public String getNom() 
    	{
    		return nom;
    	}
     
    	public void setNom(String nom) 
    	{
    		this.nom = nom;
    	}
     
    	public String getNomComplet() 
    	{
    		return nomComplet;
    	}
     
    	public void setNomComplet(String nomComplet) 
    	{
    		this.nomComplet = nomComplet;
    	}
     
    	public List<RoleBean> getListRoles() 
    	{
    		return listRoles;
    	}
     
    	public void setListRoles(List<RoleBean> listRoles) 
    	{
    		this.listRoles = listRoles;
    	}
     
    	public List<String> getListCompte() {
    		return listCompte;
    	}
     
    	public void setListCompte(List<String> listCompte) {
    		this.listCompte = listCompte;
    	}
     
    	public Date getDateCreation() 
    	{
    		return dateCreation;
    	}
     
    	public void setDateCreation(Date dateCreation) 
    	{
    		this.dateCreation = dateCreation;
    	}
     
    	public Date getDateDerniereUtilisation() 
    	{
    		return dateDerniereUtilisation;
    	}
     
    	public void setDateDerniereUtilisation(Date dateDerniereUtilisation) 
    	{
    		this.dateDerniereUtilisation = dateDerniereUtilisation;
    	}
    }
    et la récupération des données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listPublicateur = this.getSession().createSQLQuery("SELECT DNAME, DFULLNAME, DUSERARRIVEDATE, DUSERCHANGEDATE FROM USERS , USERSECURITYATTRIBUTES WHERE USERS.DNAME=USERSECURITYATTRIBUTES.DUSERNAME AND USERSECURITYATTRIBUTES.DATTRIBUTETYPE='role' AND USERSECURITYATTRIBUTES.DATTRIBUTENAME='" + role.getNom()+"'").addEntity(PublicateurBean.class).list();
    Quand je supprime les 2 champs de type date de mon mapping et de ma requête ça fonctionne bien.
    Je n'y comprends rien

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Pourquoi les attributs dans ton bean sont de type Date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	private Date dateCreation;
    	private Date dateDerniereUtilisation;
    Tu peux les mettre en Timestamp en incluant la librairie java.sql.Timestamp

    Ensuite les Timestamp et les Date supportent les mêmes méthodes et les mêmes format (avec par exemple SimpleDateFormat)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut
    En fait, l'erreur était dûe à un problème de version du driver oracle. En utilisant le dernier ojdbc14.jar ça marche nickel !

Discussions similaires

  1. Critères sur champ de type date
    Par blasco dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 09h48
  2. Réponses: 3
    Dernier message: 08/10/2004, 00h12
  3. BC6 inserer un enreg de type date/heure dans Access2003
    Par o_live dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/06/2004, 11h13
  4. insertion d'un type date dans une table access
    Par monstour dans le forum ASP
    Réponses: 7
    Dernier message: 18/06/2004, 16h57
  5. utilisation du type DATE d'interbase
    Par dibak dans le forum InterBase
    Réponses: 4
    Dernier message: 05/01/2004, 15h03

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