blob: eb2c93c12fc00eea33e0310019b32386844d1876 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
## Release History
### Current Release
**%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%*
- api change release (API v2)
- fix to versioning to support H2 1.3.158+
- added BLOB support (issue 1)
- added java.lang.Enum support (issue 2)
- allow runtime flexible mapping of BOOL columns to Integer fields
- allow runtime flexible mapping of INT columns to Boolean fields
- annotations overhaul to reduce verbosity
- @IQSchema(name="public") -> @IQSchema("public")
- @IQDatabase(version=2) -> @IQVersion(2)
- @IQTable(version=2) -> @IQVersion(2)
- @IQIndex annotation simplified to be used for one index definition and expanded to specify index name
- added @IQIndexes annotation to specify multiple IQIndex annotations<br/>
%BEGINCODE%
@IQIndexes({ @IQIndex("name"), @IQIndex(name="myindexname" value={"name", "nickname"}) })
%ENDCODE%
- @IQColumn(maxLength=20) -> @IQColumn(length=20)
- @IQColumn(trimString=true) -> @IQColumn(trim=true)
### Older Releases
**0.5.0** ([zip](http://code.google.com/p/iciql/downloads/detail?name=iciql-0.5.0.zip)|[jar](http://code.google.com/p/iciql/downloads/detail?name=iciql-0.5.0.jar)) *released 2011-08-03*
- initial release (API v1)
*API changes compared to JaQu from H2 1.3.157 sources*
- deprecated model class interface configuration
- added *Db.open(Connection conn)* method, changed constructor to default scope
- added *Db.registerDialect* static methods to register custom dialects
- added *Query.where(String fragment, Object... args)* method to build a runtime query fragment when compile-time queries are too strict
- added *Db.executeQuery(String query, Object... args)* to execute a complete sql query with optional arguments
- added *Db.executeQuery(Class modelClass, String query, Object... args)* to execute a complete sql query, with optional arguments, and build objects from the result
- added *Db.buildObjects(Class modelClass, ResultSet rs)* method to build objects from the ResultSet of a plain sql query
- added *ThreadLocal<T> com.iciql.Utils.newThreadLocal(final Class<? extends T> clazz)* method
- added optional console statement logger and SLF4J statement logger
- refactored dialect support
- throw *IciqlException* (which is a RuntimeException) instead of RuntimeException
- synchronized *Db.classMap* for concurrent sharing of a Db instance
- Database/table versioning uses the <b>_iq_versions </b> table, the <b>_ jq_versions</b> table, if present, is ignored
- Changed the following class names:
- org.h2.jaqu.Table => com.iciql.Iciql
- org.h2.jaqu.JQSchema => com.iciql.IQSchema
- org.h2.jaqu.JQDatabase => com.iciql.IQDatabase
- org.h2.jaqu.JQIndex => com.iciql.IQIndex
- org.h2.jaqu.JQTable => com.iciql.IQTable
- org.h2.jaqu.JQColumn => com.iciql.IQColumn
- Changed the following method names:
- org.h2.jaqu.Table.define() => com.iciql.Iciql.defineIQ()
- QueryConditon.bigger => QueryCondition.exceeds
- QueryConditon.biggerEqual => QueryCondition.atLeast
- QueryConditon.smaller => QueryCondition.lessThan
- QueryConditon.smallEqual => QueryCondition.atMost
|