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