Ortus ORM Extension
  • Introduction
    • Release History
      • What's New With 6.x
      • What's New With 5.x
    • About This Book
  • Getting Started
    • Installation
    • Configuration
      • Custom Hibernate Config
      • Secondary Caches
      • Logging
  • Modeling
    • Entities
    • Identifiers
    • Properties
    • Relationships
  • Usage
    • Built-In Functions
    • Querying
    • Events
    • Session Management
    • HQL
    • Transactions
    • Caching
  • External Links
    • API Docs for v6.5.2
    • Source Code
    • Issue Tracker
Powered by GitBook
On this page
  • Ortus ORM Extension
  • Requirements
  • Hibernate Version Support
  • Open Source Product
  • Features In A Nutshell
  • Support

Was this helpful?

Edit on GitHub
Export as PDF

Introduction

The Ortus ORM Extension is a native Lucee Extension that allows your CFML application to integrate with the powerful Hibernate ORM

NextRelease History

Last updated 1 year ago

Was this helpful?

Ortus ORM Extension

The is a native Lucee Extension that allows your CFML application to integrate with the powerful . With Hibernate, you can interact with your database records in an object oriented fashion, using components to denote each record and simple getters and setters for each field value:

component entityName="Auto" persistent="true" {

	property name="id" type="string" fieldtype="id" ormtype="string";
	property name="make" type="string";
	property name="model" type="string";

    function onPreInsert(){
        log.info( "Inserting new Auto: #getMake()# #getModel()#" );
    }
}

The Ortus ORM extension also enables transactional persistence, where an error during a save will roll back the entire transaction to prevent leaving the database in a broken state:

transaction{
    try{
        entitySave(
            entityNew( "Purchase", {
                productID : "123-expensive-watch",
                purchaseTime : now(),
                customerID : customer.getId()
            })
        );
        var cartProducts = entityLoad( "CartProduct", customer.getID() );
        entityDelete( cartProducts );
    } catch ( any e ){
        // don't clear the user's cart if the purchase failed
        transactionRollback();
        rethrow;
    }
}

Requirements

  • Lucee 5.3.9.73 and above

  • Java 8, 11 or 17

Hibernate Version Support

Extension v6.2+

The Ortus ORM Extension bundles Hibernate 5.6.15.FINAL since extension version 6.2.0.

Extension v6.1-

Previous versions of the Ortus ORM Extension bundle Hibernate 5.4.29.FINAL:

Open Source Product

Features In A Nutshell

  • Add Object Relational Mapping to any CFML app with Hibernate ORM

  • Use native CFML methods to update and persist entities to the database (entityNew(), entitySave(), ormFlush(), etc.)

  • Supports 80+ database dialects, from SQLServer2005 to MySQL8 and PostgreSQL

  • 60% faster startup than the Lucee Hibernate extension

  • Generate your mapping XML once and never again with the autoGenMap=false ORM configuration setting

  • React to entity changes with pre and post event listeners such as onPreInsert(), onPreUpdate() and onPreDelete()

  • Over 20 native CFML functions:

    • EntityDelete()

    • EntityLoad()

    • EntityLoadByExample()

    • EntityLoadByPK()

    • EntityMerge()

    • EntityNameArray()

    • EntityNameList()

    • EntityNew()

    • EntityReload()

    • EntitySave()

    • EntityToQuery()

    • ORMClearSession()

    • ORMCloseAllSessions()

    • ORMEvictCollection()

    • ORMEvictEntity()

    • ORMEvictQueries()

    • ORMExecuteQuery()

    • ORMFlush()

    • ORMGetSession()

    • ORMGetSessionFactory()

    • ORMReload()

Support

The Ortus ORM extension is an open source Lucee server extension with no license purchase necessary. If you are looking to further the development of this extension, consider .

See the for a full list of enhancements and bug fixes.

Our expertise with Hibernate ORM and Lucee Server allows us to give back to the community, as well as offer premium support to enterprises looking for a level up in their Hibernate implementations. If you need performance optimization, session management or caching integrations, please .

Source Code:

Support Plans:

Bug Tracker:

https://hibernate.org/orm/releases/5.6/
https://docs.jboss.org/hibernate/orm/5.6/userguide/html_single/Hibernate_User_Guide.html
https://docs.jboss.org/hibernate/orm/5.6/javadocs/
https://hibernate.org/orm/releases/5.4/
https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html
https://docs.jboss.org/hibernate/orm/5.4/javadocs/
extension changelog
contact us for support
https://github.com/Ortus-Solutions/extension-hibernate
https://www.ortussolutions.com/services/support
https://ortussolutions.atlassian.net/browse/OOE
sponsoring a feature or opening a support contract
Ortus ORM Extension
Hibernate ORM