User: dsundstrom
  Date: 02/01/15 13:45:17

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc
                        JDBCFindAllQuery.java
  Log:
  Added support for read ahead on find.
  
  Revision  Changes    Path
  1.2       +23 -4     
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindAllQuery.java
  
  Index: JDBCFindAllQuery.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindAllQuery.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JDBCFindAllQuery.java     2001/11/28 11:32:54     1.1
  +++ JDBCFindAllQuery.java     2002/01/15 21:45:17     1.2
  @@ -7,7 +7,12 @@
   
   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;
  +
   /**
    * JDBCFindAllQuery automatic finder used in CMP 1.x.
    *
  @@ -16,17 +21,31 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Joe Shevland</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Justin Forder</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   public class JDBCFindAllQuery extends JDBCAbstractQueryCommand {
      
      public JDBCFindAllQuery(JDBCStoreManager manager, JDBCQueryMetaData q) {
         super(manager, q);
  +
  +      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(
  -               manager.getEntityBridge().getJDBCPrimaryKeyFields()));
  -      sql.append(" FROM ").append(manager.getEntityBridge().getTableName());
  +      sql.append("SELECT ").append(SQLUtil.getColumnNamesClause(loadFields));
  +      sql.append(" FROM ").append(entity.getTableName());
         
         setSQL(sql.toString());
      }
  
  
  

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

Reply via email to