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

Are you attending Adobe CFSummit 2024?

Are you attending Adobe CFSummit 2024?

If you are attending the Adobe ColdFusion Summit 2024, this is what you need to know: As always, Ortus Solutions will be sponsoring this years event as Silver Sponsors, we are excited to meet all the new attendees and old friends of the community of Coldfusion developers

Maria Jose Herrera
Maria Jose Herrera
September 10, 2024
New BoxLang Feature: Functional binding to member methods

New BoxLang Feature: Functional binding to member methods

We’re excited to unveil a new feature that makes method referencing in BoxLang even smoother. Building on our recent update introducing functional static binding to built-in functions, we're now bringing the same ease to member methods.

Maria Jose Herrera
Maria Jose Herrera
September 09, 2024