bx-orm - Add Support for Multi-table non-discriminated entities

Description

None

Environment

The subscription models in ContentBox use multi-table non-discriminated inheritance. Attempts to load these entities currently result in the error:

org.hibernate.MappingException: No discriminator found for cbCommentSubscription. Discriminator is needed when 'single-table-per-hierarchy' is used and a class has subclasses at orm//org.hibernate.mapping.SingleTableSubclass.validate(SingleTableSubclass.java:49) at orm//org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:359) at orm//org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:314) at orm//org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) at orm//org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:728) at orm//org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:746) at orm//ortus.boxlang.modules.orm.SessionFactoryBuilder.build(SessionFactoryBuilder.java:163) at orm//ortus.boxlang.modules.orm.ORMApp.lambda$startup$0(ORMApp.java:156) at java.base/java.util.HashMap.forEach(Unknown Source) at orm//ortus.boxlang.modules.orm.ORMApp.startup(ORMApp.java:149) at orm//ortus.boxlang.modules.orm.ORMService.lambda$startupApp$3(ORMService.java:220) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source) at orm//ortus.boxlang.modules.orm.ORMService.startupApp(ORMService.java:218) at orm//ortus.boxlang.modules.orm.interceptors.ApplicationListener.beforeApplicationListenerLoad(ApplicationListener.java:75) at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source) at ortus.boxlang.runtime.interop.DynamicInteropService.invoke(DynamicInteropService.java:565) at ortus.boxlang.runtime.interop.DynamicObject.invoke(DynamicObject.java:265) at ortus.boxlang.runtime.events.InterceptorState.announce(InterceptorState.java:166) at ortus.boxlang.runtime.events.InterceptorPool.announce(InterceptorPool.java:603)

Activity

Show:
Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Priority

Sentry

Created March 18, 2025 at 1:50 PM
Updated March 18, 2025 at 2:43 PM
Resolved March 18, 2025 at 2:43 PM

Flag notifications