You don't NEED null value replacements, just the type.  So this would be fine:

<statement id="insertProduct" parameterClass="com.domain.Product">    
     insert into PRODUCT (PRD_ID, PRD_DESCRIPTION)    
     values (#id:NUMERIC#,
    #description:VARCHAR#);
</statement>  

This is an Oracle requirement supported by the standard JDBC intereface.  The method signature for setting null values is:

public void setNull(int parameterIndex,
 int sqlType)
throws SQLException

Cheers,
Clinton

On 4/27/05, Jason Punzalan <[EMAIL PROTECTED]> wrote:
> I noticed that when using the same maps with oracle i need to declare the
> types and null value replacements in my inline parameter. not sure why
> though...from the dev handbook...
>  
>  <statement id="insertProduct" parameterClass="com.domain.Product">    
>  insert into PRODUCT (PRD_ID, PRD_DESCRIPTION)    
>  values (#id:NUMERIC:-999999#,
> #description:VARCHAR:NO_ENTRY#);
>   </statement>  
>
>  
>
> On 4/27/05, Daniel H. F. e Silva <[EMAIL PROTECTED] > wrote:
> > Hi Jason,
> >
> > According to the stack trace you've posted, i would say that you are
> facing problems with data
> > type conversions done by your JDBC driver.
> > I guess your 'isFeature' property is a boolean value and your table column
> 'isFeature' is of
> > another type?
> > If so, i faced this problem before: my java objects held boolean values
> and my database columns
> > used to hold varchar2(1) values as 'Y', 'N' or 'T', 'F'.
> > If all i mentioned above is your current situation, my advise is: write a
> CTH (Custom Type
> > Handler). The iBatis Wiki has some nice details about this issue.
> >
> > Hope that helped.
> >
> > Cheers,
> > Daniel Silva.
> >
> >
> > --- Jason Punzalan <[EMAIL PROTECTED] > wrote:
> > > this works on mysql but not on oracle. same table layout. any ideas?
> > >
> > >       <insert id="insertContent" parameterClass="Content" >
> > >               <![CDATA[
> > >                       insert into content(publication, modified_by,
> priority, source,
> > > type_id, body, id, subtitle, title, isFeature, modified, summary,
> > > page_id, enabled, created_by, created, status, sub_type)
> > >                       values(#publication#, #modifiedBy#, #priority#,
> #source#, #typeId#,
> > > #body#, #id#, #subtitle#, #title#, #isfeature#, now(), #summary#,
> > > #pageId#, #enabled#, #createdBy#, now(), "draft", #subType.id#)
> > >               ]]>
> > >       </insert>
> > >
> > >
> > >
> > > org.springframework.jdbc.UncategorizedSQLException:
> (SqlMapClient
> > > operation): encountered SQLException [
> > > --- The error occurred in com/ruderfinn/maps/Content.xml.
> > > --- The error occurred while applying a parameter map.
> > > --- Check the insertContent-InlineParameterMap.
> > > --- Check the parameter mapping for the 'isfeature' property.
> > > --- Cause: java.sql.SQLException : Invalid column type]; nested
> > > exception is
> com.ibatis.common.jdbc.exception.NestedSQLException :
> > > --- The error occurred in com/ruderfinn/maps/Content.xml.
> > > --- The error occurred while applying a parameter map.
> > > --- Check the insertContent-InlineParameterMap.
> > > --- Check the parameter mapping for the 'isfeature' property.
> > > --- Cause: java.sql.SQLException: Invalid column type
> > > com.ibatis.common.jdbc.exception.NestedSQLException :
> > > --- The error occurred in com/ruderfinn/maps/Content.xml.
> > > --- The error occurred while applying a parameter map.
> > > --- Check the insertContent-InlineParameterMap.
> > > --- Check the parameter mapping for the 'isfeature' property.
> > > --- Cause: java.sql.SQLException: Invalid column type
> > > Caused by: java.sql.SQLException: Invalid column type
> > >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam protection around
> > http://mail.yahoo.com
> >
>
>  

Reply via email to