Generate sample named queries for Dynamic Entities.
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
index 1eff2cf..61bf5ec 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
@@ -261,6 +261,14 @@
 			setCustomized(CLASS_NAME, className);
 		}
 	}
+	
+	/**
+	 * Returns the alias for a Named Query.
+	 */
+	public String getAliasForQuery() {
+		String alias = getClassName().substring(0, 1);
+		return alias.toLowerCase();
+	}
 
 	/**
 	 * Returns a name suitable to be used as a variable or class name. This is
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/PackageGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/PackageGenerator.java
index edc1c4e..f3b222c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/PackageGenerator.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/PackageGenerator.java
@@ -420,6 +420,13 @@
 
 		    StringBuilder xmlFileContents = new StringBuilder();
 		    xmlFileContents.append(generateXmlHeaderFooter(ve, "header.vm")); //$NON-NLS-1$
+
+		    // Build sample named queries
+		    for (Iterator<String> names = tableNames.iterator(); names.hasNext();) {
+		    	ORMGenTable table = this.customizer.getTable(names.next());
+		    	xmlFileContents.append(generateXmlTypeMetadata(table, ve, "namedQuery.vm"));
+		    }
+		    
 		    List<ORMGenTable> compositeKeyTables = new ArrayList<ORMGenTable>();
 		    
 			for (Iterator<String> names = tableNames.iterator(); names.hasNext();) {
@@ -432,7 +439,7 @@
 					return;
 				}
 			
-				xmlFileContents.append(generateXmlTypeMapping(table, ve, "main.xml.vm", sm.newChild(10))); //$NON-NLS-1$
+				xmlFileContents.append(generateXmlTypeMetadata(table, ve, "main.xml.vm")); //$NON-NLS-1$
 
 				if (table.isCompositeKey()) {
 					compositeKeyTables.add(table);
@@ -443,7 +450,7 @@
 			for (ORMGenTable table : compositeKeyTables) {
 				SubMonitor sm = SubMonitor.convert(monitor, NLS.bind(JptGenMessages.EntityGenerator_taskName, table.getName()), 1);
 			    if (table.isCompositeKey()) {
-			    	xmlFileContents.append(generateXmlTypeMapping(table, ve, "embeddable.vm", sm.newChild(1))); //$NON-NLS-1$
+			    	xmlFileContents.append(generateXmlTypeMetadata(table, ve, "embeddable.vm")); //$NON-NLS-1$
 			    }
 			}
 			
@@ -474,8 +481,8 @@
 	}
 
 	
-	private String generateXmlTypeMapping(ORMGenTable table, VelocityEngine ve
-			, String templateName, IProgressMonitor monitor) throws Exception {
+	private String generateXmlTypeMetadata(ORMGenTable table, VelocityEngine ve
+			, String templateName) throws Exception {
 		VelocityContext context = new VelocityContext();
         context.put("table", table); //$NON-NLS-1$
         context.put("customizer", getCustomizer()); //$NON-NLS-1$
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/xml_entities/namedQuery.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/xml_entities/namedQuery.vm
new file mode 100644
index 0000000..5f85557
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/xml_entities/namedQuery.vm
@@ -0,0 +1,3 @@
+    <named-query name="${table.className}.findAll">
+        <query>select ${table.aliasForQuery} from ${table.className} ${table.aliasForQuery}</query>
+    </named-query>