Hehe, 

 That was not exactly my intention, but if it worked for you, nice!
 I just meant to take your OFFENCES_SEQ.NEXTVAL and put it in place of #id# at 
values list.
 But, it is working!

Cheers,
 Daniel Silva.

--- Ben Gill <[EMAIL PROTECTED]> wrote:

> Thanks Daniel, that works...
> 
> Seems strange to me though that it does, as surely the selectKey would have
> set id to a java.lang.String anyhow...
> 
> Working:
> 
> <typeAlias alias="offence"
> type="com.ocado.tracker.offences.forms.OffenceForm"/>
>     
>       <insert id="addOffence" parameterClass="offence">
>               
> 
>         insert into 
>         OFFENCES (OFFENCE_UUID, STATUS, AUTHORITY, TICKET_NUMBER, 
>                 OFFENCE, 
>                 EMPLOYEE_UUID, DATETIME_OF_OFFENCE, DATETIME_OF_TICKET, 
>                 SITE, FLEET_UUID, LOC_OF_OFFENCE, POSTCODE, FINE,
> ORDER_NUMBER,
>                 ROUTE_ID, ENTERED_BY, ASSIGNED_TO, LAST_MODIFIED_BY,
> LAST_MODIFIED, 
>                 CREATION_DATE) 
>       values (
>         <selectKey resultClass="java.lang.String" keyProperty="id" >
>                       SELECT OFFENCES_SEQ.NEXTVAL AS ID FROM DUAL
>               </selectKey>, 'new', #authority#, #ticketNumber#, #offence#,
>               #employeeID#, to_date(#dateOfOffence#,'dd/mm/YYYY HH24:mi'),
>               to_date(#dateOfTicket#,'dd/mm/YYYY HH24:mi'),
>               #site#, #fleetID#, #locOfOffence#, #postcode#, #fine#,
>               #orderNumber#, #routeID#, #enteredBy#, #assignedTo#,
> sysdate, sysdate);
>     </insert>
> 
> Not working:
> 
> <typeAlias alias="offence"
> type="com.ocado.tracker.offences.forms.OffenceForm"/>
>     
>       <insert id="addOffence" parameterClass="offence">
> 
>               <selectKey resultClass="java.lang.String" keyProperty="id" >
>                       SELECT OFFENCES_SEQ.NEXTVAL AS ID FROM DUAL
>               </selectKey>            
> 
>         insert into 
>         OFFENCES (OFFENCE_UUID, STATUS, AUTHORITY, TICKET_NUMBER, 
>                 OFFENCE, 
>                 EMPLOYEE_UUID, DATETIME_OF_OFFENCE, DATETIME_OF_TICKET, 
>                 SITE, FLEET_UUID, LOC_OF_OFFENCE, POSTCODE, FINE,
> ORDER_NUMBER,
>                 ROUTE_ID, ENTERED_BY, ASSIGNED_TO, LAST_MODIFIED_BY,
> LAST_MODIFIED, 
>                 CREATION_DATE) 
>       values (
>         #id#, 'new', #authority#, #ticketNumber#, #offence#,
>               #employeeID#, to_date(#dateOfOffence#,'dd/mm/YYYY HH24:mi'),
>               to_date(#dateOfTicket#,'dd/mm/YYYY HH24:mi'),
>               #site#, #fleetID#, #locOfOffence#, #postcode#, #fine#,
>               #orderNumber#, #routeID#, #enteredBy#, #assignedTo#,
> sysdate, sysdate);
>     </insert>
> 
> Thanks anyhow...
> 
> -----Original Message-----
> From: Daniel H. F. e Silva [mailto:[EMAIL PROTECTED]
> Sent: 04 February 2005 12:39
> To: ibatis-user-java@incubator.apache.org
> Subject: RE: Mapping Problem
> 
> 
> Ben,
> 
>  Seems to me that you're using a sequence that gives you integer values,
> aren't you?
>  So, why does your pk column has type VARCHAR(20)?
>  If your database is Oracle, i bet the problem is happening due to
> converting an integer to a
> string and then back.
>  What happens if you replace your #id# in the VALUES list with the call of
> the sequence?
> 
> Cheers,
>  Daniel Silva.
>  
> 
> --- Ben Gill <[EMAIL PROTECTED]> wrote:
> 
> > Yeah I tried that... in fact I have tried a whole nuch of things but
> cannot
> > get it to work!!
> > 
> > I am now using:
> > 
> > <typeAlias alias="offence"
> > type="com.ocado.tracker.offences.forms.OffenceForm"/>
> >     
> >     <insert id="addOffence" parameterClass="offence">
> >             <selectKey resultClass="java.lang.String" keyProperty="id" >
> >                     SELECT OFFENCES_SEQ.NEXTVAL AS ID FROM DUAL
> >             </selectKey>
> > 
> >         insert into 
> >         OFFENCES (OFFENCE_UUID, STATUS, AUTHORITY, TICKET_NUMBER, 
> >               OFFENCE, 
> >               EMPLOYEE_UUID, DATETIME_OF_OFFENCE, DATETIME_OF_TICKET, 
> >               SITE, FLEET_UUID, LOC_OF_OFFENCE, POSTCODE, FINE,
> > ORDER_NUMBER,
> >               ROUTE_ID, ENTERED_BY, ASSIGNED_TO, LAST_MODIFIED_BY,
> > LAST_MODIFIED, 
> >               CREATION_DATE) 
> >     values (#id#, 'new', #authority#, #ticketNumber#, #offence#,
> >             #employeeID#, to_date(#dateOfOffence#,'dd/mm/YYYY HH24:mi'),
> >             to_date(#dateOfTicket#,'dd/mm/YYYY HH24:mi'),
> >             #site#, #fleetID#, #locOfOffence#, #postcode#, #fine#,
> >             #orderNumber#, #routeID#, #enteredBy#, #assignedTo#,
> > sysdate, sysdate);
> >     </insert>
> > 
> > org.springframework.jdbc.UncategorizedSQLException: (SqlMapClient
> > operation): en
> > countered SQLException [
> > --- The error occurred in
> com/ocado/tracker/offences/dao/sql/OffenceSQL.xml.
> > --- The error occurred while applying a parameter map.
> > --- Check the addOffence-InlineParameterMap.
> > --- Check the parameter mapping for the 'id' property.
> > --- Cause: java.sql.SQLException: Invalid column type]; nested exception
> is
> > com.
> > ibatis.common.jdbc.exception.NestedSQLException:
> > --- The error occurred in
> com/ocado/tracker/offences/dao/sql/OffenceSQL.xml.
> > --- The error occurred while applying a parameter map.
> > --- Check the addOffence-InlineParameterMap.
> > --- Check the parameter mapping for the 'id' property.
> > --- Cause: java.sql.SQLException: Invalid column type
> > com.ibatis.common.jdbc.exception.NestedSQLException:
> > --- The error occurred in
> com/ocado/tracker/offences/dao/sql/OffenceSQL.xml.
> > --- The error occurred while applying a parameter map.
> > --- Check the addOffence-InlineParameterMap.
> > --- Check the parameter mapping for the 'id' property.
> > --- Cause: java.sql.SQLException: Invalid column type
> > Caused by: java.sql.SQLException: Invalid column type
> >         at
> > com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUp
> > date(GeneralStatement.java:86)
> >         at
> > com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExe
> > cutorDelegate.java:500)
> >         at
> > com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionI
> > mpl.java:89)
> > 
> > -----Original Message-----
> > From: Aitor Imaz [mailto:[EMAIL PROTECTED]
> > Sent: 04 February 2005 12:19
> > To: ibatis-user-java@incubator.apache.org
> > Subject: Re: Mapping Problem
> > 
> > 
> > I can see one thing, in your <selectKey> the resultClass attribute 
> > should be a String if I'm not wrong. You should put there the class of 
> > the primary key returned, not of the object itself. Maybe that's the 
> > cause of the error (the selectkey mapping)?
> > 
> > Hope it helps,
> > Aitor
> > 
> > 
> > _____________________________________________________________________
> > This message has been checked for all known viruses by the 
> > MessageLabs Virus Control Centre.
> > 
> > This message has been checked for all known viruses by the MessageLabs
> Virus Control Centre.
> > 
> >     
> > *********************************************************************
> > 
> > Notice:  This email is confidential and may contain copyright material of
> Ocado Limited (the
> > "Company"). Opinions and views expressed in this message may not
> necessarily reflect the
> > opinions and views of the Company.
> > If you are not the intended recipient, please notify us immediately and
> delete all copies of
> > this message. Please note that it is your responsibility to scan this
> message for viruses.
> > 
> > Company reg. no. 3875000.
> > Ocado Limited
> > Titan Court
> > 3 Bishops Square
> > Hatfield Business Park
> > Hatfield
> > Herts
> > AL10 9NE
> > 
> > 
> 
=== message truncated ===



                
__________________________________ 
Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 
http://my.yahoo.com 
 

Reply via email to