HotRod ORM Suite
Comment: Some of this content is copied from https://github.com/hotrodorm/hotrod/, which is licensed under the Apache license. It is not clear whether this license is compatible with Wikipedia (CC-BY-SA) or not. I've asked about this at Wikipedia:Copyright problems. LittlePuppers (talk) 03:17, 30 July 2026 (UTC)
| Stable release | 5.1.24
/ July 12, 2026[1] |
|---|---|
| Repository | github |
| Written in | Java |
| Engine | |
| Operating system | Cross-platform |
| Platform | Java |
| Type | Object–relational mapping |
| License | Dual-licensed: Apache-2.0 |
| Website | github |
Search HotRod ORM Suite on Amazon.
HotRod ORM Suite, HotRod 5 is an open-source Object-Relational Mapping (ORM) suite of products designed for Spring and Spring Boot, focused on rapid development and high-performance persistence in relational databases. Ir provides a full-featured API to retrieve and update data from and to a database using classes generated from a database schema.
HotRod follows the database-first approach, where the persistence layer is generated and updated from existing database schemas with tables and views.
Modules
The HotRod suite includes:
- CRUD - The main persistence layer that includes the operations for INSERT, UPDATE, SELECT, and DELETE
- LiveSQL - Flexible SQL querying directly from the applications with live syntax validation
- Nitro - To use any SQL query, including native extensions, combined with dynamic SQL as necessary
- Torcs - To identify slow queries at runtime and retrieve their execution plans
Highligths
This suite compares to other ORMs products:
- Entity Tuples: retrieves separated tuples from joins
- Automated schema discovery: discovers the tables and views in the schemas and prepares the persistence sayer
- Automated schema update: updates the persistence layer from schema changes without losing custom changes
- Comprehensive data type resolution: default and rule-based type resolution mapping
- Feature-rich LiveSQL: LiveSQL includes a developed and customizable expression language to express simple to complex queries
- Built-in low performace query detection: Torcs automatically detects and ranks slow queries by different criteria
More features are described at [1]
Examples
To compute the value of 3 * 7 in the database:
Row row = sql.select(sql.val(3).mult(7).as("total")).executeOne();
System.out.println("total=" + row.get("total")); // total=21
To select from a table:
List<Tuple1<Product>> rows = sql
.select(p.star(), p.shipping.plus(p.tax).minus(p.discount).as("net"))
.tuples()
.from(p)
.where(p.shipping.plus(p.tax).minus(p.discount).le(10))
.orderBy(p.category, p.name.desc())
.limit(50)
.execute();
for (Tuple1<Product> r : rows) {
Product prod = r.getA(); // all columns correctly named, cast, typed, and/or converted here
System.out.println("Product: " + prod);
System.out.println("Net: " + r.get("net"));
}
A join can be expressed as:
List<Tuple2<Invoice, Client>> rows = sql
.select(i.star(), c.star(), i.amount.mult(c.discountPct).as("appliedDiscount"))
.tuples()
.from(i)
.join(c, c.id.eq(i.clientId))
.where(c.branchName.upper().like("%SOUTH%"))
.orderBy(c.id, i.purchaseDate.desc())
.execute();
for (Tuple2<Invoice, Client> r : rows) {
Invoice inv = r.getA(); // all columns correctly named, cast, typed, and/or converted here
Client cli = r.getB(); // same here
System.out.println("Invoice: " + inv);
System.out.println("Client: " + cli);
System.out.println("Applied Discount: " + r.get("appliedDiscount"));
}
References
- ↑ github.com https://github.com/hotrodorm/hotrod/releases/tags. Retrieved 2026-07-12. Missing or empty
|title=(help)
Category:Object–relational mapping Category:Java (programming language) libraries Category:Java enterprise platform
This article "HotRod ORM Suite" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:HotRod ORM Suite. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
