Blog

Passing the Baton: Lucee 6 and Hibernate ORM

Michael Born July 20, 2023

Spread the word

Michael Born

July 20, 2023

Spread the word


Share your thoughts

Passing the Baton: Lucee 6 and Hibernate ORM

As of Lucee 5.4.1.8, new Lucee builds will no longer bundle the (Lucee) Hibernate extension. This means that if you rely on Hibernate ORM in your CFML application, you will need to manually bundle the Hibernate extension into your Lucee server. Let's read on for more info.

The News

First, let's start with the official note from the Lucee 5.4.1.8 Stable Release notes (courtesy of Zac Spitzer):

Lucee ORM is no longer being developed or bundled by the Lucee Team, Ortus have forked and taken over the development of ORM for Lucee, see Introducing: The Ortus ORM Extension.

It seems that Lucee has made the decision to 1) trim the Lucee installation size by no longer bundling the Hibernate extension with new Lucee installations, and to 2) halt further development on the Lucee Hibernate extension. It is unclear whether "no longer being developed" is referring to new features only, or whether that includes bug fixes and security patches as well.

This news means that Micha and the LAS team can focus on the Lucee server platform, bringing you speed and stability, while Ortus provides the Hibernate integration for a powerful database ORM layer.

What Now?

Since Ortus Solutions has committed to ongoing support of the Hibernate extension, there is no concern for the future of Hibernate ORM on Lucee. The Ortus-maintained extension (termed "Ortus ORM extension") has had over 500 commits and 9 releases since forking, and the upcoming 7.0.0 release will upgrade to Hibernate 5.6. We're not going away!

While it is possible to continue using the Lucee Hibernate extension, we highly recommend switching to the Ortus ORM extension for speed improvements, security patches, and ongoing support.

As a quick example, take a look at the ORMReload times across the Lucee Hibernate and the Ortus ORM Extension. On the left are several versions of the Lucee Hibernate extension (3.5.5.87, 5.4.29.20-BETA, and 5.4.29.27-BETA), and on the right is the Ortus ORM Extension (version 6.1.0). You can see that the ORMReload time is over 50% faster using the Ortus ORM extension!

ORMReload times compared with the Lucee Hibernate extension (blue) vs. the Ortus ORM Extension (right)

Installing the Ortus ORM Extension with CommandBox

Installing at Server Start Time

To install the Ortus ORM extension with CommandBox at server start time, pass the -Dlucee-extensions environment variable containing a list of extension IDs to install:

box server start cfengine=lucee@5.4 -Dlucee-extensions='D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.1.0'

Running this command server start in CommandBox will start the Lucee server using the lucee-extensions environment variable to configure any additional extensions beyond the default bundled ones. This environment variable will instruct Lucee to install the Ortus ORM extension v6.1.0 at startup. By the time your CFML code is executing, the extension will be fully installed and ready to go.

Installing on a Pre-Existing Lucee Server

For a pre-built Lucee server isntance, you can opt to install the extension without restarting the server using CommandBox's install command:

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

This will install the extension to the Lucee server's deploy/ directory, where it will be picked up (usually within 30 seconds) and installed into the running Lucee server.

Installing the Ortus ORM Extension on Vanilla Lucee

To install the extension without assistance from CommandBox, append the extension ID ( D062D72F-F8A2-46F0-8CBC91325B2F067B ) to the LUCEE_EXTENSIONS environment variable before starting the Lucee server. Exactly how you do these two steps will depend on your operating system and on the method you used to install Lucee server in the first place.

Alternately, you can browse to the Extension>Applications page in the Lucee Server Admin and click on the "Ortus ORM Extension" under "Not Installated". From there, you can choose and install versions at will.

See Lucee's "Extension Installation" documentation for more info.

Conclusion

The LAS team has long "carried the baton" in regards to Hibernate ORM. With that baton now passed firmly to Ortus Solutions, Hibernate in CFML is entering a new age of speed, stability, and ongoing support. For more information, you can check out the documentation, or our support page if you are looking for additional capabilities.

Add Your Comment

(2)

Jul 24, 2023 21:31:52 UTC

by Will Belden

Now you just need to make it ACF-compatible.

Jul 24, 2023 21:32:30 UTC

by Will Belden

Also! Congratulations! Ortus is keeping CFML alive!

Recent Entries

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management


Opting for in-house database management involves more than just a salary. Here are some often-overlooked costs associated with maintaining your own DBA team.



1. High Salaries and Benefits


Hiring skilled DBAs is expensive. According to industry reports, the average salary of a DBA in the U.S. can range from $85,000 to over $130,000 per year, depending on experience and expertise. When you add ...

Cristobal Escobar
Cristobal Escobar
November 20, 2024
5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

ColdFusion has long been a reliable platform for building web applications, but like any technology, it requires maintenance and modernization over time. Whether you're using Lucee or Adobe ColdFusion, it’s critical to recognize the signs that your application is no longer meeting today’s standards in performance, security, and scalability. Let’s explore five clear indicators that it’s time to modernize your ColdFusion application and how ColdFusion consulting can help breathe new life into y...

Cristobal Escobar
Cristobal Escobar
November 19, 2024
ColdBox Free Tip 5 - Building Named Routes with a Struct

ColdBox Free Tip 5 - Building Named Routes with a Struct

**Did you know ColdBox provides flexible ways to build routes using structs?** In this tip, we’ll cover how to use the `event.buildLink()` and `event.route()` methods for named routes, a feature that’s especially handy when working with dynamic URLs.

Maria Jose Herrera
Maria Jose Herrera
November 19, 2024