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:
- Fixes named argument support for entityLoad() - LDEV-4285
- Fixes named argument support for entityLoadByPK() - LDEV-4461
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