Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
March 11, 2022
CBORM-32 - Non-Primary DSN Entities not found. Multi-datasource discovery of entities using virtual services and active entity. This was a regression since version 1.5. This brings back multi-datasource support for active entity, and virtual entity services. #52
Detached Subqueries
was marked as a singleton
when indeed it was indeed a transient
. This could have created scoping issues on subquery based detached criteria building.
Var scoping issues in BaseBuilder
detached projections
DetachedCriteriaBuilder
was not passing the datasource
to native criteria objects
Root docker-compose.yml
to startup MySQL, or PostgreSQL in docker, for further hacking and testing.
Java proxy caching to avoid Lucee OSGi issues and increase Java object building performance
New method in the BaseOrmService
: buildJavaProxy()
which leverages our JavaProxyBuilder
used mostly internally.
Lazy loading of SQL Helper in criteria queries
New module template guidelines and CI
Leverage WireBox aliases for construction of internal objects
Tons of internal docs and links to hibernate docs
December 16, 2021
CBORM-20 ActiveEntity evict()
had the wrong method and arguments delegated to the parent class.
CBORM-9 ACF2021 - org.hibernate.SessionFactory.getAllClassMetadata
is no longer supported
CBORM-14 Inline datasource discovery in base orm service to get a performance boost
CBORM-13 virtual entity service double creating the orm utility, use the parent one instead of duplicating the effort
CBORM-12 Lazy load the getORMUtil()
and use it only when required.
CBORM-22 New orm util support method: setupHibernateLogging()
thanks to michael born
CBORM-19 Added a isInTransaction()
util helper method to all the orm services.
CBORM-18 New ORM events based on Hibernate 5.4 Events: ORMFlush, ORMAutoFlush, ORMPreFlush, ORMDirtyCheck, ORMEvict, and ORMClear
CBORM-17 Hibernate 5.4 support for lucee new extension
CBORM-16 Adobe 2021 support and testing automations
CBORM-15 Migration to github actions
CBORM-11 Allow Criteria Builder Get()
and getOrFail()
Methods to Return Projection List Properties
CBORM-21 New cfformating rules
If you upgrade your lucee ORM extension to use Hibernate 5.4, all positional paramters in HQL using ?
has been deprecated. You will have to use the ?x
approach where x
is a number according to the position in the sql:
In this section you will find the release notes for each version we release under this major version. If you are looking for the release notes of previous major versions use the version switcher at the top left of this documentation book. Here is a breakdown of our major version releases.
A complete rewrite of the module to support a more modern and fluent approach to working with Hibernate/ColdFusion ORM. In this release we had to support 3 versions of Hibernate: 3 (Lucee), 4 (ACF 2016) and 5 (ACF 2018), which in itself proved to be a gargantuan task.
We also focused on bringing more functional programming aspects to working with collections of entities and even introduced cbStreams as part of the cborm module. This gives you the ability to produce streams out of any method that produces a collection of entities.
We also focused on converting the state of an object graph to a raw ColdFusion data struct as we live in the world of APIs. We include the mementifier module which allows every single entity to have a getMemento()
method that will convert itself and its relationships to raw CF data constructs so you can take that state and either marshall it to another format (json,xml,excel) or audit the state.
The first version of the cbORM series that focused on expanding the native ColdFusion ORM methods and exposing much more Hibernate functionality to the CFML world.
August 10, 2022
New when( boolean, success, fail )
fluent construct for ActiveEntity
, VirtualEntityService
and the BaseORMService
to allow for fluent chaining of operations on an entity or its service.
Migration to new ColdBox Virtual App Testing approaches
Removed unnecessary on load logging to increase performance
Hibernate 5.4 on Lucee experimental testing
countWhere()
invalid SQL exception if no arguments are provided:
January 13, 2022
March 31, 2021
Exposed a getSQLHelper()
from criterias to allow for usage of formmatting of sql
New interception points: beforeOrmExecuteQuery, afterOrmExecuteQuery
from the base orm service: executeQuery()
method
Moved afterCriteriaBuilderList
event before results conversions
Wrong object to get the event handler manager when doing execute query calls
April 27, 2021
New eventPrefix
setting so you can prefix the resource REST CRUD events with whatever you like.
Useful exceptions when results
struct does not have the required keys
Ability to override the name of the method to use for persistence on the ORM services. Using the variables.saveMethod
property or the savemethod
argument.
Ability to override the name of the method to use for deleting entities on the ORM services. Using the variables.deleteMethod
property or the deleteMethod
argument.
cbSwagger docs added to the base resource handler
Added ACF2016 compatibilities on elvis operator which sucks on ACF2016
Avoid using member function son some arrays to allow for working with Java arrays
February 12, 2021
In this major release we have two issues that are not backward compatible:
asQuery
now falseAll properties and arguments that received the asQuery
argument are now defaulted to false. Meaning arrays of objects/structs is now the default instead of query objects. If you want to go back to queries, then make sure you add the asQuery : true
to the method calls.
Our supporting modules have been also upgraded to their major versions mostly to support cbi18n v2.
If you are using localization features with cborm then you must read the compat guide for cbi18n v2.
[] - isDirty()
not working with ActiveEntity
due to missing entity passed
[] - Updated cbValidation
to v3 to support cbi18n v2
[] - asQuery
update to default it to false
[] - Document v3 variant in the docs
[] - Source code cleanups by applying formatting rules