aeiolus opened a new issue, #14423:
URL: https://github.com/apache/grails-core/issues/14423

   When trying to get DevTeamEntity from database, I get
   `org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "MEN0_.CLASS" not found; 
SQL statement:`
   even though I've specified tablePerHierarchy false
   ```
   abstract class MasterEntity implements Identifiable {
       Long id
       static constraints = {
       }
   }
   ```
   
   ```
   class PersonEntity extends MasterEntity {
       Long weight
       static mapping = {
           tablePerHierarchy false
       }
   }
   ```
   
   ```
   class ManEntity extends PersonEntity {
       String firstName
       String lastName
       DevTeamEntity devTeamEntity
   }
   ```
   
   ```
   class DevTeamEntity {
       Long id
       static hasMany = [
           men: ManEntity
       ]
   }
   
   ```
   
   ```
   2021-06-14 23:56:36.296 ERROR --- [nio-8080-exec-9] 
o.h.engine.jdbc.spi.SqlExceptionHelper   : Column "MEN0_.CLASS" not found; SQL 
statement:
   select men0_.dev_team_entity_id as dev_team3_1_0_, men0_.id as id1_1_0_, 
men0_.id as id1_2_1_, men0_1_.version as version2_2_1_, men0_1_.weight as 
weight4_2_1_, men0_.first_name as first_na2_1_1_, men0_.dev_team_entity_id as 
dev_team3_1_1_, men0_.last_name as last_nam4_1_1_ from man_entity men0_ inner 
join master_entity men0_1_ on men0_.id=men0_1_.id inner join master_entity 
men0_2_ on men0_.id=men0_2_.id where ( men0_.class in ('bug_2.ManEntity')) and 
men0_.dev_team_entity_id=? [42122-199]
   2021-06-14 23:56:36.320 ERROR --- [nio-8080-exec-9] 
.a.c.c.C.[.[.[.[grailsDispatcherServlet] : Servlet.service() for servlet 
[grailsDispatcherServlet] in context with path [] threw exception [Request 
processing failed; nested exception is org.grails.gsp.GroovyPagesException: 
Error processing GroovyPageView: [views/devTeamEntity/show.gsp:22] Error 
executing tag <f:display>: could not prepare statement] with root cause
   
   org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "MEN0_.CLASS" not found; SQL 
statement:
   select men0_.dev_team_entity_id as dev_team3_1_0_, men0_.id as id1_1_0_, 
men0_.id as id1_2_1_, men0_1_.version as version2_2_1_, men0_1_.weight as 
weight4_2_1_, men0_.first_name as first_na2_1_1_, men0_.dev_team_entity_id as 
dev_team3_1_1_, men0_.last_name as last_nam4_1_1_ from man_entity men0_ inner 
join master_entity men0_1_ on men0_.id=men0_1_.id inner join master_entity 
men0_2_ on men0_.id=men0_2_.id where ( men0_.class in ('bug_2.ManEntity')) and 
men0_.dev_team_entity_id=? [42122-199]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:451)
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
        at org.h2.message.DbException.get(DbException.java:205)
        at org.h2.message.DbException.get(DbException.java:181)
        at 
org.h2.expression.ExpressionColumn.getColumnException(ExpressionColumn.java:176)
        at 
org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:158)
        at org.h2.expression.condition.ConditionIn.optimize(ConditionIn.java:89)
        at 
org.h2.expression.condition.ConditionAndOr.optimize(ConditionAndOr.java:133)
        at 
org.h2.expression.condition.ConditionAndOr.optimize(ConditionAndOr.java:133)
        at org.h2.command.dml.Select.prepare(Select.java:1248)
        at org.h2.command.Parser.prepareCommand(Parser.java:689)
        at org.h2.engine.Session.prepareLocal(Session.java:627)
        at org.h2.engine.Session.prepareCommand(Session.java:565)
        at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1292)
        at 
org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:77)
        at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:349)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.invoke(LazyConnectionDataSourceProxy.java:385)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy$TransactionAwareInvocationHandler.invoke(TransactionAwareDataSourceProxy.java:241)
        at 
org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:149)
        at 
org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:176)
        at 
org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:151)
        at 
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.prepareQueryStatement(AbstractLoadPlanBasedLoader.java:198)
        at 
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeQueryStatement(AbstractLoadPlanBasedLoader.java:162)
        at 
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:104)
        at 
org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.initialize(AbstractLoadPlanBasedCollectionInitializer.java:87)
        at 
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:710)
        at 
org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:76)
        at 
org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102)
        at 
org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:2161)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection$4.doWork(AbstractPersistentCollection.java:589)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:264)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:585)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:149)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection$1.doWork(AbstractPersistentCollection.java:178)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection$1.doWork(AbstractPersistentCollection.java:163)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:264)
        at 
org.hibernate.collection.internal.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:162)
        at 
org.hibernate.collection.internal.PersistentSet.isEmpty(PersistentSet.java:174)
        at 
grails.plugin.formfields.FormFieldsTagLib.buildModel(FormFieldsTagLib.groovy:458)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
grails.plugin.formfields.FormFieldsTagLib$_closure8$_closure22.doCall(FormFieldsTagLib.groovy:334)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
org.grails.taglib.TagBodyClosure.executeClosure(TagBodyClosure.java:198)
        at 
org.grails.taglib.TagBodyClosure.captureClosureOutput(TagBodyClosure.java:102)
        at org.grails.taglib.TagBodyClosure.call(TagBodyClosure.java:223)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
gsp_fields_templates__fields_list_gsp.run(gsp_fields_templates__fields_list_gsp.groovy:26)
        at 
org.grails.gsp.GroovyPageWritable.doWriteTo(GroovyPageWritable.java:145)
        at org.grails.gsp.GroovyPageWritable.writeTo(GroovyPageWritable.java:82)
        at 
org.grails.web.gsp.GroovyPagesTemplateRenderer.makeTemplate(GroovyPagesTemplateRenderer.java:232)
        at 
org.grails.web.gsp.GroovyPagesTemplateRenderer.render(GroovyPagesTemplateRenderer.java:113)
        at 
org.grails.plugins.web.taglib.RenderTagLib$_closure7.doCall(RenderTagLib.groovy:367)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.grails.taglib.TagOutput.captureTagOutput(TagOutput.java:78)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
grails.artefact.gsp.TagLibraryInvoker$Trait$Helper.methodMissing(TagLibraryInvoker.groovy:90)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
grails.plugin.formfields.FormFieldsTagLib$_closure8.doCall(FormFieldsTagLib.groovy:332)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.grails.gsp.GroovyPage.invokeTagLibClosure(GroovyPage.java:446)
        at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:364)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
home_jerry_dev_bug_2_grails_app_views_devTeamEntity_show_gsp$_run_closure2.doCall(home_jerry_dev_bug_2_grails_app_views_devTeamEntity_show_gsp:59)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
org.grails.taglib.TagBodyClosure.executeClosure(TagBodyClosure.java:200)
        at 
org.grails.taglib.TagBodyClosure.captureClosureOutput(TagBodyClosure.java:102)
        at org.grails.taglib.TagBodyClosure.call(TagBodyClosure.java:213)
        at 
org.grails.plugins.web.taglib.SitemeshTagLib.captureTagContent(SitemeshTagLib.groovy:48)
        at 
org.grails.plugins.web.taglib.SitemeshTagLib$_closure3.doCall(SitemeshTagLib.groovy:156)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.grails.gsp.GroovyPage.invokeTagLibClosure(GroovyPage.java:446)
        at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:364)
        at 
home_jerry_dev_bug_2_grails_app_views_devTeamEntity_show_gsp.run(home_jerry_dev_bug_2_grails_app_views_devTeamEntity_show_gsp:76)
        at 
org.grails.gsp.GroovyPageWritable.doWriteTo(GroovyPageWritable.java:145)
        at org.grails.gsp.GroovyPageWritable.writeTo(GroovyPageWritable.java:82)
        at 
org.grails.web.servlet.view.GroovyPageView.renderTemplate(GroovyPageView.java:76)
        at 
org.grails.web.servlet.view.AbstractGrailsView.renderWithinGrailsWebRequest(AbstractGrailsView.java:71)
        at 
org.grails.web.servlet.view.AbstractGrailsView.renderMergedOutputModel(AbstractGrailsView.java:55)
        at 
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:317)
        at 
org.grails.web.sitemesh.GrailsLayoutView.renderInnerView(GrailsLayoutView.java:150)
        at 
org.grails.web.sitemesh.GrailsLayoutView.obtainContent(GrailsLayoutView.java:128)
        at 
org.grails.web.sitemesh.GrailsLayoutView.renderTemplate(GrailsLayoutView.java:63)
        at 
org.grails.web.servlet.view.AbstractGrailsView.renderWithinGrailsWebRequest(AbstractGrailsView.java:71)
        at 
org.grails.web.servlet.view.AbstractGrailsView.renderMergedOutputModel(AbstractGrailsView.java:55)
        at 
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:317)
        at 
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1372)
        at 
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1118)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
        at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to