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