Blog

Luis Majano

August 12, 2010

Spread the word


Share your thoughts

There have been several changes from the ORM support classes from M5 to M6 that I will recap here thanks to muji in our google group and also to help out in the transition.  Our ORM support services are maturing every day and moving to a great solid release for 3.0.0 Final.  So let’s recap some of the changes:

 

  • Entity dependency injection are now controller and configured via the Autowire interceptor and not the ORM event handler anymore.  However, the ORM event handler MUST be enabled first.
  • findWhere() and findAllWhere() method parameters have changed, requiring a tweak in your code to account for the change.  Instead of accepting any add'l arguments besides orm entityName as the criteria, both functions now expect a "criteria" structure.
  • new() now takes in a properties argument that will be used to populate the new entity with
  • find() is now findIt() to not mess with the CF functions
  • get() now returns a new() entity if passed id=0 for convenience
  • deleteByID() returns # of rows deleted instead of boolean
  • new deleteAll() function
  • new validate(entity) function calls underlying Hibernate Validator() (EXPERIMENTAL), we are still evaluating our validation frameworks, but we would like to stay very very close to what Hibernate and JPA already offer. (http://links.mkt3261.com/ctt?kn=1&m=3181979&r=MTM5NTYzMTU5MjMS1&b=0&j=MTg5NjgzNjAyS0&mt=1&rt=0)  All help on this area is welcomed
  • new inline populate() functions: populate(), populatFromXML(), populateFromJSON(), populateFromQuery()
  • new() creations now announce an ORMPostNew interception if the ORM event handler has been created
  • New service property: EventHandling used by the service to announce certain things like ORMPostNew interceptions.

I believe these are the changes, am I missing something, please comment about it?

Add Your Comment

(1)

Aug 13, 2010 11:42:14 UTC

by Brett

I believe get() also returns a new entity if the id specified is an empty string.

Recent Entries

12 Days of BoxLang - Day 4: TestBox

12 Days of BoxLang - Day 4: TestBox

Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:

the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡

No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.

If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.

Victor Campos
Victor Campos
December 13, 2025
12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025