Hi, Sorry to bother you again but I've been trying to find a solution for above issue but still couldn't find a way to make it work.
Any suggestions on what I could do to make it work? Thanks, Xavier Baques Software Engineer ------------------------------ <https://www.facebook.com/streamsets/> <https://twitter.com/streamsets> <https://www.linkedin.com/company/streamsets/> EMAIL: x...@streamsets.com <https://streamsets.com> <https://streamsets.com/products/transformer/> <https://go.streamsets.com/WC-2019-Book-DataOps-Full-Book_LP.html> On Wed, May 13, 2020 at 7:08 PM Xavier Baqués <x...@streamsets.com> wrote: > Hi, > > I am using OpenJPA with Delimited identifiers enabled through the orm.xml > file, I am able to create the database schema and I can see debugging that > table columns are correctly delimited with double quotes in Table object, > however, when I ask EntityManager to create a query it loads the table > metadata into the Table object without columns being delimited, only table > name is delimited. As the columns in table metadata are not delimited, when > the JPQL is parsed an exception is thrown because it cannot find delimited > column names (they are correctly delimited from the corresponding Entity > object) in table metadata (in this case the Table object that gets created > from the table metadata does not have the column names delimited). > > Is there any way to fix that by changing the configuration and make > Delimited identifiers work correctly? > > System information: > > OpenJPA version: 2.4.3 > MySQL version: 5.7.27 > > Stack trace of the error: > > <openjpa-2.4.3-r422266:1833086 fatal user error> > org.apache.openjpa.persistence.ArgumentException: > "com.streamsets.apps.pipelinestore.backend.bean.TestInfo.description" > declares column ""DESCRIPTION"", but this column does not exist in table > ""TEST_INFO"". > at > org.apache.openjpa.jdbc.meta.MappingInfo.mergeColumn(MappingInfo.java:692) > at > org.apache.openjpa.jdbc.meta.MappingInfo.createColumns(MappingInfo.java:593) > at > org.apache.openjpa.jdbc.meta.ValueMappingInfo.getColumns(ValueMappingInfo.java:178) > at > org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy.map(StringFieldStrategy.java:84) > at > org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:148) > at > org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:81) > at > org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:498) > at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:463) > at > org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:921) > at > org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:858) > at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1813) > at > org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:829) > at > org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:784) > at > org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:664) > at > org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:418) > at > org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:389) > at > org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:472) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:177) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:153) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:243) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:213) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:206) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$200(JPQLExpressionBuilder.java:81) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:2445) > at org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:60) > at > org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:162) > at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:679) > at > org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:652) > at > org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:619) > at > org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:688) > at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:588) > at > org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:1005) > at > org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:987) > at > org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:977) > > > Thanks, > > Xavier Baques > > Software Engineer > > ------------------------------ > > <https://www.facebook.com/streamsets/> <https://twitter.com/streamsets> > <https://www.linkedin.com/company/streamsets/> > > EMAIL: x...@streamsets.com > > <https://streamsets.com> > > <https://streamsets.com/products/transformer/> > > <https://go.streamsets.com/WC-2019-Book-DataOps-Full-Book_LP.html> > >