##### General information

- Overview
- News and Status
- Downloads
- Addons
- Changes
- Old Changes
- Wiki
- Issue tracker
- Mailing lists
- Tools
- License
- Team
- Developer Information
- Sponsorship
- Security
- Thanks

##### Documentation

- Tutorial
- OR Mapping Reference
- Code Generation Reference
- Module Documentation

##### Previous releases

- Torque 3.3

## JIRA Report

Key | Summary | Status | Resolution | By
--- | --- | --- | --- | ---
TORQUE-268 | Copy constructor for Criteria | Resolved | Fixed | Thomas Fox
TORQUE-267 | Add optimistic locking | Resolved | Fixed | Thomas Fox
TORQUE-266 | Add row level locking (select for update) | Resolved | Fixed | Thomas Fox
TORQUE-265 | Torque generator needs log4j as underlying logging system | Resolved | Fixed | Thomas Fox
TORQUE-264 | remove unused attribute package, baseClass and basePeer on database element in schema | Resolved | Fixed | Thomas Fox
TORQUE-263 | Allow not generating drop... commands in sql | Resolved | Fixed | Thomas Fox
TORQUE-262 | onUpdate="restrict" and onDelete="restrict" cause sql syntax error in MSSQL | Resolved | Fixed | Thomas Fox
TORQUE-261 | date and time data types not usable for mssql | Resolved | Fixed | Thomas Fox
TORQUE-260 | cannot set size for binary datatype in mssql | Resolved | Fixed | Thomas Fox
TORQUE-259 | LONG RAW Datatype deprecated in Oracle (used for BINARY and LONGVARBINARY) | Resolved | Fixed | Thomas Fox
TORQUE-258 | BIT Datatype mapped incorrectly for Derby | Resolved | Fixed | Thomas Fox
TORQUE-257 | unknown option key for mysql tables cause invalid sql | Resolved | Fixed | Thomas Fox
TORQUE-256 | Drop schema missing for create schema | Resolved | Fixed | Thomas Fox
TORQUE-255 | onDelete="setnull" not working for Derby | Resolved | Fixed | Thomas Fox
TORQUE-254 | views must be dropped before tables are dropped | Resolved | Fixed | Thomas Fox
TORQUE-253 | included schema was not resolved for sql generation | Resolved | Fixed | Thomas Fox
TORQUE-252 | BINARY and VARBINARY Datatypes mapped incorrectly in Derby | Resolved | Fixed | Thomas Fox
TORQUE-251 | fix SQL errors in the test project | Resolved | Fixed | Thomas Fox
TORQUE-250 | Fix documentation issues | Resolved | Fixed | Thomas Fox
TORQUE-249 | add valueEquals method | Resolved | Fixed | Thomas Fox
TORQUE-248 | Filler methods fail for nulled composite foreign keys | Resolved | Fixed | Thomas Fox
TORQUE-247 | Select using a SimpleKey containing a null value does not work | Resolved | Fixed | Thomas Fox
TORQUE-246 | Remove unused method resultSet2Objects in generated Peer classes | Resolved | Fixed | Unassigned
TORQUE-245 | API Change for Record mapper interface | Resolved | Fixed | Unassigned
TORQUE-244 | custom updates with prepared statements | Resolved | Fixed | Thomas Fox
TORQUE-243 | Criterion gets modified by Criteria | Resolved | Fixed | Thomas Fox
TORQUE-242 | RecordMapper should use selected columns from Criteria | Resolved | Fixed | Unassigned
TORQUE-241 | qualified table names cause wrong sql to be created | Resolved | Fixed | Unassigned
TORQUE-240 | Java name creation for qualified table names | Resolved | Fixed | Thomas Fox
TORQUE-239 | create debug output to determine where a snippet came from | Resolved | Fixed | Thomas Fox
TORQUE-238 | Missing / duplicated link to database schema in step 2 | Resolved | Fixed | Thomas Fox
TORQUE-237 | Check whether we can publish the site as offline docs | Resolved | Fixed | Thomas Fox
TORQUE-236 | Torque 4 Tutorial: add (UML) diagram of generated classes | Resolved | Fixed | Thomas Fox
TORQUE-235 | Torque 4 Tutorial: number of classes and visibility of method doSelectJoinTable | Resolved | Fixed | Thomas Fox
TORQUE-234 | Intuitive way of using one-arg operators in Criteria | Resolved | Fixed | Thomas Fox
TORQUE-233 | Exception translation | Resolved | Fixed | Thomas Fox
TORQUE-232 | generated peer's initDatabaseMap() methods should call the init method of the DatabaseMapInit class | Resolved | Fixed | Thomas Fox
TORQUE-231 | BaseMapInit classes should import peer classes by single import | Resolved | Fixed | Thomas Fox
TORQUE-230 | Deprecated BasePeer class should not be imported in generated files | Resolved | Fixed | Thomas Fox
TORQUE-229 | serialVersionUIDs generated in Peer and BasePeer class but not needed | Resolved | Fixed | Thomas Fox
TORQUE-228 | Imports not generated correctly if classes are generated into different package | Resolved | Fixed | Thomas Fox
TORQUE-227 | Change handling of fillerChunkSize in filler methods | Resolved | Fixed | Thomas Fox
TORQUE-223 | Add possibility to set override package in maven plugin | Resolved | Fixed | Thomas Fox
TORQUE-222 | Change unlock table behaviour in MSSQL | Closed | Fixed | Thomas Fox
TORQUE-221 | Move MapBuilder functionality to Peer class | Closed | Fixed | Unassigned
TORQUE-220 | Use generics for BasePeerImpl | Closed | Fixed | Thomas Vandahl
TORQUE-219 | IdGenerator interface should throw TorqueException not Exception | Closed | Fixed | Thomas Fox
TORQUE-218 | Enhance Derby adapter to use limit/offset functionality | Closed | Fixed | Thomas Fox
TORQUE-217 | Date default values should be possible | Closed | Fixed | Thomas Fox
TORQUE-216 | Rename class DB to Adapter | Closed | Fixed | Thomas Fox
TORQUE-215 | Use prepared statements for queries and updates | Closed | Fixed | Thomas Fox
TORQUE-214 | Add a SummaryHelper class which supports aggregate queries. | Closed | Fixed | CG Monroe
TORQUE-213 | Added support for SQL functions | Closed | Fixed | CG Monroe
TORQUE-212 | Criteria.isSingleRecord() should throw TooManyRecordsException if more than one record is found | Closed | Fixed | CG Monroe
TORQUE-211 | Don't use deprecated methods in DatabaseMapInit | Closed | Fixed | Thomas Vandahl
TORQUE-210 | Do not use commons-lang NestableException any more | Closed | Fixed | Thomas Vandahl
TORQUE-209 | Rewrite torque generator as a general code-generation tool | Closed | Fixed | Thomas Fox
TORQUE-208 | Remove the village component from code | Closed | Fixed | Thomas Fox
TORQUE-207 | Add auto-detection of the database adapter | Closed | Fixed | Thomas Vandahl
TORQUE-206 | Use variable arguments for MethodCacheKey and MethodResultCache | Closed | Fixed | Thomas Vandahl
TORQUE-205 | Make AbstractBaseManager generic | Closed | Fixed | Thomas Vandahl
TORQUE-201 | Change the interface org.apache.torque.adapter.IDMethod to an enum | Closed | Fixed | Thomas Fox
TORQUE-200 | Generate methods in Peer classes to retrieve a single object from a table | Closed | Fixed | Thomas Fox
TORQUE-199 | change the property for schema configuration in the runtime | Closed | Fixed | Thomas Fox
TORQUE-198 | Move Join types from SqlEnum to an own Enum JoinType | Closed | Fixed | Thomas Fox
TORQUE-196 | Make transaction handling pluggable | Closed | Fixed | Thomas Fox
TORQUE-195 | Remove autocommit handling from Transaction management | Closed | Fixed | Thomas Fox
TORQUE-194 | create methods to create custom sql queries with prepared statement replacements | Closed | Fixed | Thomas Fox
TORQUE-193 | Allow other types than Columns as left hand side of a comparison in Criteria. | Closed | Fixed | Thomas Fox
TORQUE-192 | create method to set FROM clause from Criteria | Closed | Fixed | Thomas Fox
TORQUE-191 | make type attribute on column element mandatory in xsd | Closed | Fixed | Thomas Fox
TORQUE-190 | Create new boolean attribute useDatabaseDefaultValue on column Element in Schema | Closed | Fixed | Thomas Fox
TORQUE-189 | create include-schema element in the database element | Closed | Fixed | Thomas Fox
TORQUE-188 | dbName == null should be interpreted as default database | Closed | Fixed | Thomas Fox
TORQUE-187 | Allow joins with subselects in the FROM clause | Closed | Fixed | Thomas Fox
TORQUE-186 | BOOLEANINT and null value | Closed | Fixed | Thomas Fox
TORQUE-185 | Allow subselects which do not reference a column | Closed | Fixed | Thomas Fox
TORQUE-184 | remove defaultJavaNamingMethod and javaNamingMethod attributes | Closed | Fixed | Thomas Fox
TORQUE-183 | allow for large schemas to be broken up into sub-schema files | Closed | Fixed | Thomas Fox
TORQUE-182 | Additional methods for handling associated objects | Resolved | Fixed | Thomas Fox
TORQUE-181 | Support table create options in mysql | Closed | Fixed | Thomas Fox
TORQUE-180 | It should be possible to have the save() method in peers instead of in the dbObject classes | Closed | Fixed | Thomas Fox
TORQUE-179 | Torque type Date should be mapped to Date on MySQL | Closed | Fixed | Thomas Fox
TORQUE-178 | Change semantics of add() and or() methods in Criteria | Closed | Fixed | Thomas Fox
TORQUE-177 | SQLFunction interface should extend Column | Closed | Fixed | Thomas Fox
TORQUE-176 | Avoid additional brackets in sql if many same operators are chained | Closed | Fixed | Thomas Fox
TORQUE-175 | Support database views | Closed | Fixed | Thomas Fox
TORQUE-174 | Remove adapters which are not supported any more | Closed | Fixed | Thomas Fox
TORQUE-173 | The generator should be able to combine all read source files into one source tree | Closed | Fixed | Thomas Fox
TORQUE-172 | Order by for varchar columns is always case insensitive | Closed | Fixed | Unassigned
TORQUE-171 | Add schema documentation to templates | Closed | Fixed | Thomas Fox
TORQUE-170 | Cleanup database adapters | Closed | Fixed | Thomas Fox
TORQUE-169 | Create other output modes for the generator | Closed | Fixed | Thomas Fox
TORQUE-168 | Use Objects instead of Strings for Column constants in Peers and Criteria | Closed | Fixed | Thomas Fox
TORQUE-167 | Remove the field Criteria.Criterion.db | Closed | Fixed | Thomas Fox
TORQUE-166 | remove the getOMClass() method, the CLASS_DEFAULT constant and the initClass() method in the generated peers | Closed | Fixed | Thomas Fox
TORQUE-164 | Fix foreign key storage in database map | Closed | Fixed | Thomas Fox
TORQUE-163 | Map builders are emptied on Torque.shutdown() and not rebuilt on subsequent init() | Closed | Fixed | Thomas Fox
TORQUE-162 | Make constructor of static Torque object private | Closed | Fixed | Thomas Fox
TORQUE-161 | Create filler methods for related objects | Closed | Fixed | Thomas Fox
TORQUE-160 | Criteria should not inherit from hashtable | Closed | Fixed | Thomas Fox
TORQUE-159 | Split generated peer classes into implementation and a static wrapper | Closed | Fixed | Thomas Fox
TORQUE-158 | Joins in Criteria are serialized separately with no reason | Closed | Fixed | Thomas Fox
TORQUE-157 | fix splitup of instances between DatabaseMap and Database | Closed | Fixed | Unassigned
TORQUE-155 | Use "${size} CHAR" instad of "${size}" as SQL for column size in oracle | Closed | Fixed | Thomas Fox
TORQUE-153 | Fail if null connection is supplied to a method | Closed | Fixed | Thomas Fox
TORQUE-151 | Support Bit as PK | Closed | Fixed | Thomas Fox
TORQUE-150 | use generics in the Runtime | Closed | Fixed | Thomas Fox
TORQUE-149 | If silentDbFetch is false, the add method for a related object has a throws clause | Closed | Fixed | Thomas Fox
TORQUE-148 | remove throws clause in setter for referenced object by a foreign key | Closed | Fixed | Thomas Fox
TORQUE-147 | Database objects should not need to inherit from BaseObject | Closed | Fixed | Thomas Fox
TORQUE-146 | Options should be made available in map builder | Closed | Fixed | Thomas Fox
TORQUE-145 | remove inputValidator attribute on column element | Closed | Fixed | Thomas Fox
TORQUE-144 | remove alias attribute on table element | Closed | Fixed | Thomas Fox
TORQUE-142 | MYSQL - default timestamp set to current_timestamp generates classes incorrectly | Closed | Fixed | Thomas Fox
TORQUE-141 | Adding a way to set JDBC Driver fetchSize on statement | Closed | Fixed | Thomas Fox
TORQUE-140 | change section order and headlines on index page | Closed | Fixed | Thomas Fox
TORQUE-139 | create torque 3 -> torque 4 migration guide | Closed | Fixed | Thomas Fox
TORQUE-138 | rename the "torque 4" menu item to "general information" | Closed | Fixed | Thomas Fox
TORQUE-131 | remove "none" value of the attributes onUpdate and onDelete of the foreign-key element | Closed | Fixed | Thomas Fox
TORQUE-130 | remove the heavyIndexing attribute of the table element | Closed | Fixed | Thomas Fox
TORQUE-127 | remove "null" value of idMethod attribute in table element | Closed | Fixed | Thomas Fox
TORQUE-125 | Maven2 Plugin fails on local M2 repo containing spaces | Closed | Fixed | Thomas Fox
TORQUE-124 | Thread safety problem in JndiDataSourceFactory | Closed | Fixed | Thomas Fox
TORQUE-122 | TorqueInstance.shutdown() skips closing databases | Closed | Fixed | Thomas Fox
TORQUE-121 | Peer generation, using Peer.vm does not call super class' methods but always calls BasePeer.method(...) | Closed | Fixed | Thomas Vandahl
TORQUE-120 | Inappropriate dependencies on Torque from TorqueInstance | Closed | Fixed | Thomas Fox
TORQUE-119 | Method "save" doesn't handle exceptions which results in unsavable objects | Closed | Fixed | Thomas Fox
TORQUE-118 | Maven2 plugin fails to detect that schema was changed when generating om, etc | Closed | Fixed | Unassigned
TORQUE-117 | Stopping IDBroker does not clear the cached ids | Closed | Fixed | Thomas Fox
TORQUE-116 | property for object state | Closed | Fixed | Thomas Fox
TORQUE-115 | TorqueInstance.init(Configuration) - wrong implementation | Closed | Fixed | Thomas Fox
TORQUE-113 | doDelete with invalid column should throw exception, not delete all rows | Closed | Fixed | Thomas Fox
TORQUE-112 | Delete via Join deletes all records in the table | Closed | Fixed | Thomas Fox
TORQUE-111 | Thrown RuntimeExceptions cause database connections to remain open | Closed | Fixed | Thomas Fox
TORQUE-110 | unique name not parsed when generating mysql (sql/base/mysql/unique.vm) | Closed | Fixed | Thomas Fox
TORQUE-108 | Criteria addJoin causes incorrect SQL to be generated when optional schema references are in use (Oracle) | Closed | Fixed | Thomas Fox
TORQUE-107 | calling getRelatedObjects(Criteria) can result in NullPointerException if the collection has not be initialized (with a Criteria) | Closed | Fixed | Thomas Fox
TORQUE-100 | clone() method for Criteria | Closed | Fixed | Thomas Fox
TORQUE-96 | Can not use * or ? in LIKE clauses | Closed | Fixed | Unassigned
TORQUE-94 | DBOracle doesn't create proper TO_DATE() clause for TIMESTAMP(6) fields | Closed | Fixed | Thomas Fox
TORQUE-91 | Index-column size attribute is documented but does not work | Closed | Fixed | Unassigned
TORQUE-89 | OrderByColumn for COUNT, SUM | Closed | Fixed | Thomas Fox
TORQUE-85 | setOffset(int) in Criteria should be setOffset(long) | Closed | Fixed | Thomas Fox
TORQUE-78 | Criteria.setIgnoreCase ignores datatype of column | Closed | Fixed | Unassigned
TORQUE-72 | Beans should not require torque.objectIsCaching = true setting to create all complexModel methods. | Closed | Fixed | Thomas Fox
TORQUE-67 | Code of the key objects in the package org.apache.torque.om needs review. | Closed | Fixed | Thomas Fox
TORQUE-48 | Initial Database XML Schema Definition (database.xsd) | Closed | Fixed | Unassigned
TORQUE-45 | Generated SQL is in wrong order when dropping tables on table re-creation | Closed | Fixed | Unassigned
TORQUE-39 | Wrong database name in generated XML schema with jdbc task | Closed | Fixed | Thomas Fox
TORQUE-16 | LockTables is faulty in some adapters | Closed | Fixed | Thomas Fox
TORQUE-15 | Allow using database default values for columns | Closed | Fixed | Thomas Fox
TORQUE-14 | huge ids in idbroker using cleverquantity | Closed | Fixed | Thomas Fox
TORQUE-13 | doDelete() should return the number of deleted datasets | Closed | Fixed | Unassigned
TORQUE-11 | Torque Type Timestamp should be mapped to datetime in Mysql | Closed | Fixed | Thomas Fox
TORQUE-9 | BasePeer.doDelete() should not load the datasets to delete them | Closed | Fixed | Thomas Fox
TORQUE-7 | joins should support join operators other than equal | Closed | Fixed | Thomas Fox