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