You can edit almost every page by Creating an account and confirming your email.

HotRod ORM Suite

From EverybodyWiki Bios & Wiki



HotRod
Stable release
5.1.24 / July 12, 2026; 30 days ago (2026-07-12)[1]
Repositorygithub.com/hotrodorm/hotrod
Written inJava
Engine
    Operating systemCross-platform
    PlatformJava
    TypeObject–relational mapping
    LicenseDual-licensed: Apache-2.0
    Websitegithub.com/hotrodorm/hotrod

    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

    1. 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.