Blog

Ortus ORM Extension Version 6.4.0

Michael Born December 11, 2023

Spread the word

Michael Born

December 11, 2023

Spread the word


Share your thoughts

We're pleased to announce a minor release of the Ortus ORM Extension, v6.4.0! This release includes a vulnerability patch, so we'd recommend you upgrade as soon as possible.

Security Fixes

First and foremost, this release bumps the logback-core logging dependency to resolve a recently-disclosed Uncontrolled Resource Consumption vulnerability.

New Features

This release adds an ORMQueryExecute() alias for the ORMExecuteQuery() built-in function. While not a game-changer in any way, this brings a consistency to the method names for SQL vs HQL queries. Instead of queryExecute() and ORMExecuteQuery(), we now have queryExecute() and ORMQueryExecute():

// Vanilla SQL query
queryExecute( "SELECT * FROM users" );

// HQL query powered by Hibernate
ORMQueryExecute( "FROM User" );

Bug Fixes

This release includes a number of bug fixes, including named argument support for entityLoad() and entityLoadByPK(), as well as fixing support for a custom Hibernate configuration file via this.ormSettings.ormConfig.

Named Argument Support for EntityLoad*() Methods

Named arguments are now supported on EntityLoadByPK():

entityLoadByPK(
    name = "Dealership",
    id = variables.testDealerID
);

as well as entityLoad():

entityLoad(
    name = "Auto",
    id = "foo123"
)

See tickets:

Custom Hibernate Configuration File

The existing ormSettings.ormConfig configuration property is now fixed and documented as working, with passing tests to boot. This is the first iteration of the Hibernate 5+ where we can verify that configuration specified in this manner is taking effect.

this.ormSettings = {
    dbcreate  : "dropcreate",
	ormConfig : "/config/resources/hibernate.cfg.xml",
    // ...
};

Using this ormConfig property, we can point to an XML file containing additional Hibernate configuration:

<!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
		<property name="hibernate.session_factory_name">OrtusForTheWin</property>
		<property name="hibernate.globally_quoted_identifiers">true</property>
    </session-factory>
</hibernate-configuration>

Other Improvements

While not technically a change in ORM functionality, the useDBforMapping implementation has been greatly improved "under the hood", with tests to boot.

Upgrade

To upgrade the Ortus ORM Extension version on a running Lucee server, use box install with the extension GUID and version number:

box install D062D72F-F8A2-46F0-8CBC91325B2F067B@6.4.0

If you are using the lucee.extensions environment variable to configure extension installation, you'll want to update that as well:

-Dlucee-extensions='D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.4.0'

The exact syntax depends on the context. For more information, see Installing the Ortus ORM Extension and the lucee.extensions env var documentation.

For More Info

Check out the full release notes on the extension documentation gitbook, or see the full list of changes on github.com.

Add Your Comment

Recent Entries

BoxLang 1.0.0 RC1 Launched

BoxLang 1.0.0 RC1 Launched

After nearly a year of relentless iteration, rigorous testing, blood, sweat, lots of praying, tears, and over 1,000 resolved tickets, we proudly announce the first Release Candidate (RC1) of BoxLang! With 27 beta versions behind us, we are now on the final stretch toward the official 1.0 release.

Luis Majano
Luis Majano
February 18, 2025
Exploring BoxLang: A Modern Scripting Language for the JVM!

Exploring BoxLang: A Modern Scripting Language for the JVM!

The amazing CFML community leader Ray Camden recently shared his thoughts on BoxLang, a dynamic scripting language that runs on the Java Virtual Machine (JVM). BoxLang is lightweight (only 6 MB) and doesn’t require Java knowledge, making it accessible to developers from all backgrounds. Whether you're building CLI scriptsweb applications, or experimenting with serverless architecture, BoxLang has you covered.

Maria Jose Herrera
Maria Jose Herrera
February 14, 2025
Get a Free BoxLang+ License with Your ITB 2025 Ticket!

Get a Free BoxLang+ License with Your ITB 2025 Ticket!

At Ortus Solutions, we are dedicated to delivering the best experience for our Into the Box attendees. This year’s event will be an exciting opportunity to explore BoxLang and modern CFML development, and we want to ensure that attending in person is even more rewarding.

Maria Jose Herrera
Maria Jose Herrera
February 07, 2025