User: oberg   
  Date: 01/02/09 02:34:39

  Modified:    src/main/org/jboss/ejb/plugins/jaws/jdbc
                        JDBCDefinedFinderCommand.java
  Log:
  Now uses correct type mapping. Thanks to Gabor Herr for the patch!
  
  Revision  Changes    Path
  1.11      +8 -2      
jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCDefinedFinderCommand.java
  
  Index: JDBCDefinedFinderCommand.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCDefinedFinderCommand.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JDBCDefinedFinderCommand.java     2001/02/07 07:12:34     1.10
  +++ JDBCDefinedFinderCommand.java     2001/02/09 10:34:39     1.11
  @@ -15,6 +15,7 @@
   import java.sql.PreparedStatement;
   
   import org.jboss.ejb.plugins.jaws.metadata.FinderMetaData;
  +import org.jboss.ejb.plugins.jaws.metadata.TypeMappingMetaData;
   
   /**
    * JAWSPersistenceManager JDBCDefinedFinderCommand
  @@ -25,19 +26,22 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Joe Shevland</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Justin Forder</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Michel de Groot</a>
  - * @version $Revision: 1.10 $
  + * @version $Revision: 1.11 $
    */
   public class JDBCDefinedFinderCommand extends JDBCFinderCommand
   {
      // Attributes ----------------------------------------------------
      
      private int[] parameterArray;
  +   private TypeMappingMetaData typeMapping;
      
      // Constructors --------------------------------------------------
      
      public JDBCDefinedFinderCommand(JDBCCommandFactory factory, FinderMetaData f)
      {
         super(factory, f.getName());
  +
  +      typeMapping = jawsEntity.getJawsApplication().getTypeMapping();
         
         // Replace placeholders with ?, but only if query is defined
         String query = "";
  @@ -174,7 +178,9 @@
         
         for (int i = 0; i < parameterArray.length; i++)
         {
  -         stmt.setObject(i+1, args[parameterArray[i]]);
  +          Object arg = args[parameterArray[i]];
  +          int jdbcType = typeMapping.getJdbcTypeForJavaType(arg.getClass());
  +          setParameter(stmt,i+1,jdbcType,arg);
         }
      }
   }
  
  
  

Reply via email to