Draft:HotRod ORM Suite
Submission declined on 30 July 2026 by LittlePuppers (talk). This draft is not adequately supported by reliable sources. Wikipedia's verifiability policy requires that all content be supported by reliable sources.
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
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)
| HotRod | |
|---|---|
| Stable release | 5.1.24
/ July 12, 2026[1] |
| Written in | Java |
| Operating system | Cross-platform |
| Platform | Java |
| Type | Object–relational mapping |
| License | Dual-licensed: Apache-2.0 |
| Website | github |
| Repository | github |
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
[edit]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
[edit]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
[edit]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
[edit]- ^ github.com https://github.com/hotrodorm/hotrod/releases/tags. Retrieved 2026-07-12.
{{cite web}}: Missing or empty|title=(help)
Category:Object–relational mapping Category:Java (programming language) libraries Category:Java enterprise platform

- provide significant coverage: discuss the subject in detail, not just brief mentions or routine announcements;
- are reliable: from reputable outlets with editorial oversight;
- are independent: not connected to the subject, such as interviews, press releases, the subject's own website, or sponsored content.
Please add references that meet all three of these criteria. If none exist, the subject is not yet suitable for Wikipedia.