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

Persistance des données Java Discussion :

LAST INSERT ID (Ibatis)


Sujet :

Persistance des données Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 77
    Points : 40
    Points
    40
    Par défaut LAST INSERT ID (Ibatis)
    Bonjour tout le monde,
    Dans un exemple sur ibatis 3 j'ai rencontré un problème au niveau d'une requete d'insertion dont le code suivant:

    <insert id="insertEntreprise" parameterType="com.entity.Entreprise"
    useGeneratedKeys="true">
    insert into entreprise (type,raisonS,adresse,siteWeb,ID_VILLE)
    values (#{type},#{raisonS},#{adresse},#{siteWeb},#{ID_VILLE})
    <selectKey keyProperty="IDENTREPRISE" resultType="int">
    SELECT LAST_INSERT_ID() AS value
    </selectKey>
    </insert>
    J'arrive pas à récupérer l'id du dernier élement inséré de plus j'ai l'exception suivante:

    org.apache.ibatis.exceptions.IbatisException:
    ### Error updating database. Cause: org.apache.ibatis.executor.ExecutorException: Error selecting key or setting result to parameter object. Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'IDENTREPRISE' of 'com.entity.Entreprise@10ab09f' with value '30' Cause: java.lang.IllegalArgumentException: argument type mismatch
    ### The error may exist in com/sql/entreprise_SqlMap.xml
    ### The error may involve com.sql.EntrepriseMapper.insertEntreprise!selectKey-Inline
    ### The error occurred while handling result set
    ### SQL: SELECT LAST_INSERT_ID() AS value
    ### Cause: org.apache.ibatis.executor.ExecutorException: Error selecting key or setting result to parameter object. Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'IDENTREPRISE' of 'com.entity.Entreprise@10ab09f' with value '30' Cause: java.lang.IllegalArgumentException: argument type mismatch
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:88)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:74)
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:41)
    Merci d'avance pour votre réponse

  2. #2
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 77
    Points : 40
    Points
    40
    Par défaut
    je viens de remplacer la requête de sélection par celle au dessous (en utilisant le MAX de l'identifiant) et l'exception a été enlevé mais l'insertion me retourne toujours 1 et non pas le MAX !!!!!!

    <selectKey keyProperty="IDENTREPRISE" resultType="int" order="BEFORE">
    SELECT MAX(IDENTREPRISE) AS IDENTREPRISE from entreprise
    </selectKey>

Discussions similaires

  1. Last insert ID
    Par olibara dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/08/2009, 08h43
  2. Probleme de multiple insert sous ibatis
    Par hellipse dans le forum Persistance des données
    Réponses: 0
    Dernier message: 25/08/2008, 04h28
  3. Gridview récupérer la page et la ligne du last insert
    Par LhIaScZkTer dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/02/2008, 11h01
  4. [mysql] last insert
    Par colooo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/07/2006, 11h43
  5. [V9] "last insert id" ?
    Par qi130 dans le forum Oracle
    Réponses: 9
    Dernier message: 18/12/2005, 14h42

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