BoxLang 🚀 A New JVM Dynamic Language Learn More...
|:------------------------------------------------------: |
| ⚡︎ B o x L a n g ⚡︎
| Dynamic : Modular : Productive
|:------------------------------------------------------: |
Copyright Since 2023 by Ortus Solutions, Corp
www.boxlang.io | www.ortussolutions.com
To get started hacking on bx-orm:
src/test/resources/libs/boxlang-1.0.0.jar
src/test/resources/libs/modules/
docker-compose up -d mysql in the rootBoxLang is a professional open-source project and it is completely funded by the community and Ortus Solutions, Corp. Ortus Patreons get many benefits like a cfcasts account, a FORGEBOX Pro account and so much more. If you are interested in becoming a sponsor, please visit our patronage page: https://patreon.com/ortussolutions
"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
scale annotation not properly cast to a string in ClassicPropertyMeta.SessionFactory instances, preventing stale session/factory references from blocking garbage collection after every ORMReload().SessionFactoryBuilder now wipes the BootstrapServiceRegistry when buildSessionFactory() throws, so the registry is not orphaned on the failure path.ORMContext is removed from the JDBC context before rebuilding, and a fresh one is eagerly installed after the new app is live, eliminating null-window races for concurrent callers.EntityTuplizer and related components now obtain the box context safely when executing in a non-request thread.dbdefault annotation not properly cast to a string in ClassicPropertyMeta.interceptorService.announce() calls on hot code paths (entity instantiation, config load) are now guarded with hasState() checks and use lazy Struct suppliers, avoiding unnecessary struct allocation when no listeners are registered.ORMConfig now receives and threads the IBoxContext through process() and getAppDefaultDatasource() so the correct application datasource is resolved in all execution contexts.ORMService.reloadApp() now performs an atomic put-and-swap of the new/old ORMApp in the registry to minimize the disruption window for requests running concurrently with a reload.v1.11.x and aboveautoGenMap configuration setting is now deprecated in favor of generateMappings. Same function, different name. See BLMODULES-119 for details.generateMappings=false (aliased as autoGenMap for backwards compatibility) to disable automatic mapping generation and require manual mapping files.v1.11.x and abovelazy and defaultBatchSize to provide compat implementationsautoManageSession is falseEntityTuplizer.getEntityMode() for relationship getterstable, schema, and catalog annotations for joined subclasses.mappedSuperClass issues with 3+ levelstinyint and tinyinteger ORM types - Resolves BLMODULES-59dataType annotation on version properties - Resolves BLMODULES-51column and fkcolumn - Resolves BLMODULES-48elementType,elementColumn annotations - Resolves BLMODULES-46structkeytype or structkeycolumn are ignored - See BLMODULES-45AttributeConverter on identifier properties - Resolves BLMODULES-44ORMGetHibernateVersion() stays accurate - See a8c7c16lazy property annotationdate property type - See c6ec8a2skipCFCWithError setting - Resolves BLMODULES-37get are returning proxies instead of the entity - Resolves BLMODULES-35No significant changes.
uniqueOrOrder to string in EntityLoad BIF - See 98f6734uniqueOrOrder argument in EntityLoad BIF - See 394d9banot-null annotation usage on one-to-one relationships - See c512848has methods are overriding declared methods in ORM entities - Resolves BLMODULES-31x-to-one generated hasX() methods are not returning the correct values - Resolves BLMODULES-32
$
box install bx-orm