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 :

[Hibernate Tutorial] Erreur lors de l’exécution du projet


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Février 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 46
    Par défaut [Hibernate Tutorial] Erreur lors de l’exécution du projet
    Bonjour à tous,

    Je ne comprend pas cette erreur :
    [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project hibernate-tutorial: An exception occured while executing the Java class. null: InvocationTargetException: could not prepare statement: This function is not supported -> [Help 1]

    Je voudrais arriver à faire un BUILD SUCCESS lorsque j'éxécute cette commande :
    mvn exec:java -Dexec.mainClass="org.hibernate.tutorial.EventManager" -Dexec.args="store"

    Est-ce que quelqu'un pourrait m'expliquer pourquoi cette erreur ? ! Et comment la résoudre ?
    Je suppose que tout n'est pas dit dans le tutoriel...


    J'ai mis tout mon code ici :
    https://github.com/lnplnp/HibernateTutorial

    La ligne de commande qui provoque l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $PROMPT$ mvn exec:java -Dexec.mainClass="org.hibernate.tutorial.EventManager" -Dexec.args="store"
    La trace qui résulte de la commande ci-dessus :
    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building First Hibernate Tutorial 1.0.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] >>> exec-maven-plugin:1.2.1:java (default-cli) @ hibernate-tutorial >>>
    [INFO]
    [INFO] <<< exec-maven-plugin:1.2.1:java (default-cli) @ hibernate-tutorial <<<
    [INFO]
    [INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @ hibernate-tutorial ---
    31 juil. 2013 12:21:59 org.hibernate.annotations.common.Version <clinit>
    INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
    31 juil. 2013 12:21:59 org.hibernate.Version logVersion
    INFO: HHH000412: Hibernate Core {4.3.0.Beta3}
    31 juil. 2013 12:21:59 org.hibernate.cfg.Environment <clinit>
    INFO: HHH000206: hibernate.properties not found
    31 juil. 2013 12:21:59 org.hibernate.cfg.Environment buildBytecodeProvider
    INFO: HHH000021: Bytecode provider name : javassist
    31 juil. 2013 12:21:59 org.hibernate.cfg.Configuration configure
    INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
    31 juil. 2013 12:21:59 org.hibernate.cfg.Configuration getConfigurationInputStream
    INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
    31 juil. 2013 12:21:59 org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
    WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer
     to Hibernate 3.6 Migration Guide!
    31 juil. 2013 12:21:59 org.hibernate.cfg.Configuration addResource
    INFO: HHH000221: Reading mappings from resource: org/hibernate/tutorial/domain/Event.hbm.xml
    31 juil. 2013 12:21:59 org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
    WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer
     to Hibernate 3.6 Migration Guide!
    31 juil. 2013 12:21:59 org.hibernate.cfg.Configuration doConfigure
    INFO: HHH000041: Configured SessionFactory: null
    31 juil. 2013 12:21:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
    31 juil. 2013 12:21:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000115: Hibernate connection pool size: 1
    31 juil. 2013 12:21:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000006: Autocommit mode: false
    31 juil. 2013 12:21:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000401: using driver [org.hsqldb.jdbcDriver] at URL [jdbc:hsqldb:hsql://localhost/]
    31 juil. 2013 12:21:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000046: Connection properties: {user=sa, password=****}
    31 juil. 2013 12:21:59 org.hibernate.dialect.Dialect <init>
    INFO: HHH000400: Using dialect: org.hibernate.dialect.HSQLDialect
    31 juil. 2013 12:21:59 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation
    INFO: HHH000423: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
    31 juil. 2013 12:22:00 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
    INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
    31 juil. 2013 12:22:00 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
    INFO: HHH000397: Using ASTQueryTranslatorFactory
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
    INFO: HHH000228: Running hbm2ddl schema update
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
    INFO: HHH000102: Fetching database metadata
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
    INFO: HHH000396: Updating schema
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.TableMetadata <init>
    INFO: HHH000261: Table found: PUBLIC.EVENTS
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.TableMetadata <init>
    INFO: HHH000037: Columns: [title, event_date, event_id]
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.TableMetadata <init>
    INFO: HHH000108: Foreign keys: []
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.TableMetadata <init>
    INFO: HHH000126: Indexes: [sys_idx_47]
    31 juil. 2013 12:22:00 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
    INFO: HHH000232: Schema update complete
    Hibernate: insert into EVENTS (EVENT_ID, EVENT_DATE, title) values (null, ?, ?)
    31 juil. 2013 12:22:00 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
    WARN: SQL Error: -20, SQLState: IM001
    31 juil. 2013 12:22:00 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
    ERROR: This function is not supported
    [WARNING]
    java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
            at java.lang.Thread.run(Thread.java:662)
    Caused by: org.hibernate.exception.GenericJDBCException: could not prepare statement
            at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
            at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
            at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:191)
            at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:124)
            at org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:55)
            at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2978)
            at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3490)
            at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:97)
            at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)
            at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:214)
            at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:194)
            at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:178)
            at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:322)
            at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287)
            at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193)
            at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)
            at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:208)
            at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
            at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:193)
            at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
            at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:92)
            at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:765)
            at org.hibernate.internal.SessionImpl.save(SessionImpl.java:757)
            at org.hibernate.internal.SessionImpl.save(SessionImpl.java:753)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:356)
            at $Proxy17.save(Unknown Source)
            at org.hibernate.tutorial.EventManager.createAndStoreEvent(EventManager.java:43)
            at org.hibernate.tutorial.EventManager.main(EventManager.java:16)
            ... 6 more
    Caused by: java.sql.SQLException: This function is not supported
            at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
            at org.hsqldb.jdbc.Util.notSupported(Unknown Source)
            at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
            at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$2.doPrepare(StatementPreparerImpl.java:126)
            at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:185)
            ... 35 more
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2.879s
    [INFO] Finished at: Wed Jul 31 12:22:00 CEST 2013
    [INFO] Final Memory: 6M/161M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project hibernate-tutorial: An exception occured while
    executing the Java class. null: InvocationTargetException: could not prepare statement: This function is not supported -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    La version complète des log : https://github.com/lnplnp/HibernateT...tore_debug.log

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    Dans ta classe main, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void createAndStoreEvent(String title, Date theDate) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
    
      // ...
    
        session.getTransaction().commit();
      }
    Sauf que tu n'a jamais ouvert ta session...

    Il faudrait faire ça à la place de getCurrentSession (ou alors ouvrir les session ou tout début de ton application) :
    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
    private void createAndStoreEvent(String title, Date theDate) {
        Session session = HibernateUtil.getSessionFactory().openSession();
         Transaction transaction;
        try {
            transaction = session.beginTransaction();
    
      // ...
    
            transaction.commit();
        } catch (Exception e) {
             if (transaction!=null) transaction.rollback();
             throw e;
         }finally{
            session.close();
        }
      };
    Romain.

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Février 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 46
    Par défaut
    Citation Envoyé par rg77140 Voir le message
    Il faudrait faire ça à la place de getCurrentSession (ou alors ouvrir les session ou tout début de ton application) :
    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
    private void createAndStoreEvent(String title, Date theDate) {
        Session session = HibernateUtil.getSessionFactory().openSession();
         Transaction transaction;
        try {
            transaction = session.beginTransaction();
    
      // ...
    
            transaction.commit();
        } catch (Exception e) {
             if (transaction!=null) transaction.rollback();
             throw e;
         }finally{
            session.close();
        }
      };
    Je vois... Pourtant "openSession" n'est pas mentionné dans le tutoriel... et son utilisation ne change rien au problème.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Février 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 46
    Par défaut
    Finalement pour résoudre le problème j'ai changé de générateur d'identifiant.

    Dans le tutoriel, <generator class="native" /> est utilisé. Je l'ai remplacé par <generator class="sequence" />.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 26/02/2013, 03h35
  2. PDO : Erreur lors de l’exécution d'une requette
    Par ikalangitahaja dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 01/02/2013, 19h36
  3. erreur lors de l’exécution de mon programme
    Par bouabid_hanen dans le forum Fortran
    Réponses: 1
    Dernier message: 04/11/2010, 09h27
  4. VB 2008 Erreur lors du Build du projet
    Par angelevil dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/02/2009, 13h28
  5. Erreur lors du chargement du projet dans Jonas
    Par TelcharF dans le forum Struts 1
    Réponses: 8
    Dernier message: 03/08/2007, 09h13

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