# Java > Gnral Java > Persistance des donnes >  LAST INSERT ID (Ibatis)

## aya02

Bonjour tout le monde,
Dans un exemple sur ibatis 3 j'ai rencontr un problme 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  rcuprer l'id du dernier lement insr 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)
> ...


Merci d'avance pour votre rponse

----------


## aya02

je viens de remplacer la requte de slection 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>


 ::?:

----------

