I've found that the column alias needs to match the property name: <selectKey resultClass="java.lang.Integer" keyProperty="criteriaConsistId" > SELECT LAST_INSERT_ID() AS criteriaConsistId </selectKey>
--- Clinton Begin <[EMAIL PROTECTED]> wrote: > "long" should work (convenient aliases). Now, beyond that it is > completely up to the driver to decide whether it's a legal mapping or > not. See, if your JDBC driver maps BIGINT to a BigInteger that's > fine > as a preferred type. Most GOOD drivers will still allow you to call > getLong() or getInt() and only throw an error if the value has gone > beyond the legal range of long or int. This is typical JDBC driver > behaviour....something MySQL has never been very good at following. > > One other thing you might want to try is aliasing the ... > > LAST_INSERT_ID() as ID > > Or something like that. > > Cheers, > Clinton > > On Wed, 2 Feb 2005 08:32:56 -0600, Brice Ruth <[EMAIL PROTECTED]> > wrote: > > Should your resultClass be java.lang.Long instead of just "long" ? > > > > > > On Wed, 2 Feb 2005 14:17:02 +0800, Gustavo Kuerten > <[EMAIL PROTECTED]> wrote: > > > The solution offered by Larry > > > > http://www.mail-archive.com/ibatis-user-java@incubator.apache.org/msg00673.html > > > does not work in my case. Anyone can offer any other insights on > the > > > problem ? In my case, my id is mapped to a BIGINT in the mysql > > > database and is represented as a Long in the Java object. Is this > > > mapping correct ? > > > > > > <insert id="insertCurrency" parameterClass="currency"> > > > insert into CURRENCY (VERSION, CURRENCY_CODE, COUNTRY) > > > values(NOW(), #currencyCode#, #country#) > > > <selectKey resultClass="long" keyProperty="id"> > > > SELECT LAST_INSERT_ID() > > > </selectKey> > > > </insert> > > > > > > Thanks > > > > > > R > > > > > >