aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--releases.moxie10
-rw-r--r--src/site/jaqu_comparison.mkd4
-rw-r--r--src/site/usage.mkd24
3 files changed, 16 insertions, 22 deletions
diff --git a/releases.moxie b/releases.moxie
index 47e06d3..a21662e 100644
--- a/releases.moxie
+++ b/releases.moxie
@@ -5,7 +5,11 @@ r21: {
title: ${project.name} ${project.version} released
id: ${project.version}
date: ${project.buildDate}
- note: "If you are upgrading and using EnumId mapping you will have to update your models to define the target class for the enumid mapping."
+ note: ''
+ If you are upgrading and using EnumId mapping you will have to update your enums to define the target class for the EnumId interface since it is now generified.
+
+ Switching to using generic types with the EnumId interface allows you to implement alternative enum-type mappings which may make more sense for your business logic.
+ ''
html: ~
text: ~
security: ~
@@ -16,8 +20,8 @@ r21: {
changes:
- Revised EnumId interface to support generic types (pr-6)
additions:
- - Add syntax for IN and NOT IN (pr-7)
- - Add support for nested AND/OR conditions (pr-8)
+ - Add syntax oneOf/noneOf for IN and NOT IN (pr-7)
+ - Add support for compound nested AND/OR conditions (pr-8)
- Add support for mapping SQL BOOLEAN to primitive numeric types, not just object numeric types
- Add support for customizing EnumId mapping, you can now map enum constants to values of your choice as long as they are a standard type
dependencyChanges:
diff --git a/src/site/jaqu_comparison.mkd b/src/site/jaqu_comparison.mkd
index 3b060e5..b37addb 100644
--- a/src/site/jaqu_comparison.mkd
+++ b/src/site/jaqu_comparison.mkd
@@ -18,6 +18,8 @@ This is an overview of the fundamental differences between the original JaQu pro
<tr><td>dynamic queries</td><td>methods and where clauses for dynamic queries that build iciql objects</td><td>--</td></tr>
<tr><td>DROP</td><td>syntax to drop a table or view</td><td></td></tr>
<tr><td>BETWEEN</td><td>syntax for specifying a BETWEEN x AND y clause</td><td>--</td></tr>
+<tr><td>(NOT) IN</td><td>syntax (oneOf, noneOf) for specifying a (NOT) IN clause</td><td>--</td></tr>
+<tr><td>compound nested conditions</td><td>WHERE (x = y OR x = z) AND (y = a OR y = b)</td><td>--</td></tr>
<tr><th colspan="3">types</th></tr>
<tr><td>primitives</td><td>fully supported</td><td>--</td></tr>
<tr><td>enums</td><td>fully supported</td><td>--</td></tr>
@@ -29,4 +31,4 @@ This is an overview of the fundamental differences between the original JaQu pro
<tr><td>DEFAULT values</td><td>set from annotation, <em>default object values</em>, or Define.defaultValue()</td><td>set from annotations</td></tr>
<tr><td>Interface Configuration<br/>Mapped Fields</td><td><em>all fields</em> are mapped regardless of scope<br/>fields are ignored by annotating with @IQIgnore</td><td><em>all public fields</em> are mapped<br/>fields are ignored by reducing their scope</td></tr>
<tr><td>Index names</td><td>can be set</td><td>--</td></tr>
-</table> \ No newline at end of file
+</table>
diff --git a/src/site/usage.mkd b/src/site/usage.mkd
index b09f91b..21c262e 100644
--- a/src/site/usage.mkd
+++ b/src/site/usage.mkd
@@ -82,25 +82,13 @@ final Customer model = new Customer();
// AND (
// region = 'LA' OR region = 'CA'
// )
-List<Customer> regionals =
- db.from(model)
- .where(model.customerId).isNotNull()
- .and(model.region).isNotNull()
- .and(new Or<Customer>(db, model) {{
- or(model.region).is("LA");
- or(model.region).is("CA");
- }});
-
-List<Customer> regionalType1s =
- db.from(model)
- .where(new And<Customer>(db, model) {{
- and(model.type).is(1);
- and(new Or<Customer>(db, model) {{
- or(model.region).is("CA");
- or(model.region).is("LA");
+List<Customer> regionals = db.from(model)
+ .where(model.customerId).isNotNull()
+ .and(model.region).isNotNull()
+ .and(new Or<Customer>(db, model) {{
+ or(model.region).is("LA");
+ or(model.region).is("CA");
}});
- }});
-
---JAVA---
### Finding Matches for a List of Values