diff options
author | James Moger <james.moger@gmail.com> | 2011-12-09 16:42:59 -0500 |
---|---|---|
committer | James Moger <james.moger@gmail.com> | 2011-12-09 16:42:59 -0500 |
commit | 876c4e51578dfa7bd98956d2f07ae7498a70629c (patch) | |
tree | e23df1f9a29cb027c55a95e50f019e7f6d717d08 /docs/05_releases.mkd | |
parent | 407ea16f9f8f6d3bd5135783d98b63c0e4704609 (diff) | |
download | iciql-876c4e51578dfa7bd98956d2f07ae7498a70629c.tar.gz iciql-876c4e51578dfa7bd98956d2f07ae7498a70629c.zip |
Columns mapped by name in result set instead of index. Disallow multiple
primitive bools in a model WITH explicit referencing.
Diffstat (limited to 'docs/05_releases.mkd')
-rw-r--r-- | docs/05_releases.mkd | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/docs/05_releases.mkd b/docs/05_releases.mkd index 9a7d13e..d4aa8f2 100644 --- a/docs/05_releases.mkd +++ b/docs/05_releases.mkd @@ -6,9 +6,29 @@ **%VERSION%** ([zip](http://code.google.com/p/iciql/downloads/detail?name=%ZIP%)|[jar](http://code.google.com/p/iciql/downloads/detail?name=%JAR%)) *released %BUILDDATE%*
-- Added list alternatives to the varargs methods because it was too easy to forget list.toArray() for the varargs methods
-List<T> Db.executeQuery(Class<? extends T> modelClass, String sql, List<?> args)
-ResultSet executeQuery(String sql, List<?> args)
+- Disallow **declaring and explicitly referencing** multiple primitive booleans in a single model.<br/>A runtime exception will be thrown if an attempt to use where/set/on/and/or/groupBy/orderBy(boolean) and your model has multiple mapped primitive boolean fields.
+- Added list alternatives to the varargs methods because it was too easy to forget list.toArray()<br/>
+*Db.executeQuery(Class<? extends T> modelClass, String sql, List<?> args)*<br/>
+*Db.executeQuery(String sql, List<?> args)*<br/>
+*Query.where(String fragment, List<?> args)*<br/>
+- Fixed inherited JaQu bug related to model classes and wildcard queries (select *).<p/>
+Iciql maps resultset columns by the index of the model class field from a list. This assumes that *all* columns in the resultset have a corresponding model field definition. This works fine for most queries because iciql explicitly selects columns from the table (*select alpha, beta...*) when you execute *select()*. The problem is when iciql issues a join or a custom wildcard query and your model does not represent all columns in the resultset: columns and fields fail to correctly line-up.<p/>
+The fix for this (building a column index from the resultset by column name lookup) breaks selecting into *some* anonymous inner classes. At issue is that the inner class field names must now match the column names or the fields must be explicitly annotated with the column names.<p/>**Example** (notice *IQColumn* annotation)<br/>
+%BEGINCODE%
+public static class ProductPrice {
+ public String productName;
+ public String category;
+ @IQColumn(name = "unitPrice")
+ public Double price;
+}
+
+db....select(new ProductPrice() {{
+ productName = p.productName;
+ category = p.category;
+ // or unitPrice = p.unitPrice;
+ price = p.unitPrice;
+}}
+%ENDCODE%
### Older Releases
|