User: dsundstrom
  Date: 02/01/15 14:20:30

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc
                        JDBCFindByPrimaryKeyQuery.java
  Log:
  Added support for read ahead on find.
  
  Revision  Changes    Path
  1.3       +20 -5     
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindByPrimaryKeyQuery.java
  
  Index: JDBCFindByPrimaryKeyQuery.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindByPrimaryKeyQuery.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JDBCFindByPrimaryKeyQuery.java    2001/11/29 20:40:05     1.2
  +++ JDBCFindByPrimaryKeyQuery.java    2002/01/15 22:20:30     1.3
  @@ -4,11 +4,14 @@
    * Distributable under LGPL license.
    * See terms of license at gnu.org.
    */
  -
   package org.jboss.ejb.plugins.cmp.jdbc;
   
  +import java.util.ArrayList;
  +import java.util.List;
  +
   import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCQueryMetaData;
  +import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCReadAheadMetaData;
   
   /**
    * JDBCBeanExistsCommand is a JDBC query that checks if an id exists
  @@ -18,7 +21,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Justin Forder</a>
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
   public class JDBCFindByPrimaryKeyQuery extends JDBCAbstractQueryCommand {
   
  @@ -29,12 +32,24 @@
   
         JDBCEntityBridge entity = manager.getEntityBridge();
   
  +      // set the preload fields
  +      JDBCReadAheadMetaData readAhead = q.getReadAhead();
  +      if(!readAhead.isOnFind()) {
  +         String eagerLoadGroupName = readAhead.getEagerLoadGroup();
  +         setPreloadFields(entity.getLoadGroup(eagerLoadGroupName));
  +      }
  +
  +      // get a list of all fields to be loaded
  +      List loadFields = new ArrayList();
  +      loadFields.addAll(entity.getPrimaryKeyFields());
  +      loadFields.addAll(getPreloadFields());
  +
  +      // generate the sql
         StringBuffer sql = new StringBuffer();
  -      sql.append("SELECT ").append(SQLUtil.getColumnNamesClause(
  -               entity.getJDBCPrimaryKeyFields()));
  +      sql.append("SELECT ").append(SQLUtil.getColumnNamesClause(loadFields));
         sql.append(" FROM ").append(entity.getTableName());
         sql.append(" WHERE ").append(SQLUtil.getWhereClause(
  -               entity.getJDBCPrimaryKeyFields()));
  +               entity.getPrimaryKeyFields()));
         
         setSQL(sql.toString());
         setParameterList(QueryParameter.createPrimaryKeyParameters(0, entity));
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to