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