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]