Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
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.
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)