What is Torque?

Apache Torque is an object-relational mapper for java. In other words, Torque lets you access and manipulate data in a relational database using java objects. Unlike most other object-relational mappers, Torque does not use reflection to access user-provided classes, but it generates the necessary classes (including the Data Objects) from an XML schema describing the database layout. The XML file can either be written by hand or a starting point can be generated from an existing database. The XML schema can also be used to generate and execute a SQL script which creates all the tables in the database.

As Torque hides database-specific implementation details, Torque makes an application independent of a specific database if no exotic features of the database are used.

Usage of code generation eases the customization of the database layer, as you can override the generated methods and thus easily change their behavior. A modularized template structure allows inclusion of your own code generation templates during the code generation process.

Torque 5.0 requires JDK 1.8 or higher. Torque 4.0 requires JDK 1.6 or higher. Also labelled version 5.0 it is still considered highly compatible with version 4. Current development version is 5.1-SNAPSHOT.


  • The most recent production release of Torque is Torque 5.0.
  • Stable production release of Torque 4 is Torque 4.0.

Elements of Torque 4 and 5

Torque consists of multiple parts:

The Torque Runtime contains everything to allow an application to access the database. It is the only component of Torque needed in your application and can be used standalone.
The Torque Generator is a general-purpose code generator which can be used to generate the O/R classes, SQL scripts etc for OR Mapping, but can also be used for other code generation purposes. If you use the Torque Maven Plugin or Torque Ant Tasks, you do not need to use the generator directly.
The Torque Maven Plugin makes the Torque generator accessible in a Maven 2/3 build.
The Torque Ant tasks integrate the Torque generator in an Ant build.
The Torque Templates contain the building blocks used by the generator to create the O/R classes, SQL scripts and the like. You can extend or change the templates if you want to customize the output of the generator, or even write templates of your own.

The Apache Software Foundation

Torque is an Apache project, and is part of a larger community of developers and users.

Apache Torque, Torque, Apache, the Apache feather logo, and the Apache Torque project logo are trademarks of The Apache Software Foundation.