Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 为什么我在servlet中得到一个无效的模式错误,而在主函数中没有相同的代码?_Jpa_Intellij Idea_Mariadb_Criteria Api_Apache Tomee - Fatal编程技术网

Jpa 为什么我在servlet中得到一个无效的模式错误,而在主函数中没有相同的代码?

Jpa 为什么我在servlet中得到一个无效的模式错误,而在主函数中没有相同的代码?,jpa,intellij-idea,mariadb,criteria-api,apache-tomee,Jpa,Intellij Idea,Mariadb,Criteria Api,Apache Tomee,我和一些学生有一个项目。 欢迎访问的网站包括: TomEE 1.7.3(羽流版本) MariaDB:服务器版本:10.1.10-MariaDB-1~杰西日志MariaDB.org二进制分发 IDE:IntellijIDEA 15.0.2 JRE:1.8.0_51 为了从数据库中获取数据,我使用标准API/JPA 以下是工作的主要功能: public static void main(String[] args) { EntityManagerFactory emf = Persis

我和一些学生有一个项目。 欢迎访问的网站包括:

  • TomEE 1.7.3(羽流版本)
  • MariaDB:服务器版本:10.1.10-MariaDB-1~杰西日志MariaDB.org二进制分发
  • IDE:IntellijIDEA 15.0.2
  • JRE:1.8.0_51

为了从数据库中获取数据,我使用标准API/JPA

以下是工作的主要功能:

public static void main(String[] args) {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("RefugEEWelcomeApp");
    EntityManager em = emf.createEntityManager();
    CriteriaBuilder builder = em.getCriteriaBuilder();


    CriteriaQuery<TblProductCategoryEntity> query = builder.createQuery(TblProductCategoryEntity.class);

    Root<TblProductCategoryEntity> productCategoryEntityRoot = query.from(TblProductCategoryEntity.class);

    Predicate mainCatNull = builder.isNull(productCategoryEntityRoot.get(TblProductCategoryEntity_.maincategory));

    query.select(productCategoryEntityRoot).where(mainCatNull);

    List<TblProductCategoryEntity> results = em.createQuery(query).getResultList();


    for(Object o:results)
    {
        TblProductCategoryEntity e=(TblProductCategoryEntity) o;
        System.out.println(
                "ID : "+e.getIdtblProductCategory()
                +"\tAtt: "+e.getAttachments()
                +"\tCAT: "+e.getMaincategory());
    }
}

这里是我的servlet:

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("RefugEEWelcomeApp");
    EntityManager em        = emf.createEntityManager();
    CriteriaBuilder builder = em.getCriteriaBuilder();

    CriteriaQuery<TblProductCategoryEntity> query = builder.createQuery(TblProductCategoryEntity.class);

    Root<TblProductCategoryEntity> productCategoryEntityRoot = query.from(TblProductCategoryEntity.class);

    Predicate mainCatNull = builder.isNull(productCategoryEntityRoot.get(TblProductCategoryEntity_.maincategory));

    query.select(productCategoryEntityRoot).where(mainCatNull);

    List<TblProductCategoryEntity> results = em.createQuery(query).getResultList();

    List<String> urls = new ArrayList<>();
    List<Integer> subCat = new ArrayList<>();

    for (Object o: results){
        TblProductCategoryEntity e=(TblProductCategoryEntity) o;
        urls.add(e.getAttachments());
        subCat.add(e.getIdtblProductCategory());
        System.out.println(e.getAttachments());
        System.out.println(e.getIdtblProductCategory());
    }

    request.setAttribute("img", urls);
    request.setAttribute("id", subCat);

    getServletContext().getRequestDispatcher("/category.jsp").forward(request, response);
}

您似乎没有配置使用MySQL后端的有效数据源

org.hsqldb.hsqleexception:架构名称无效:RefugeeSweelComeApp

取而代之的是,TomEE容器使用默认的后端配置,默认情况下是HSQLDB驱动的。这应该改变,看看:

  • 有关如何在此处正确配置数据源的一般信息:和
  • 以下位置的典型配置:
  • 可在以下位置找到工作/类似配置:

    
    JtaManaged=true
    DataSourceCreator=tomcat
    validationQuery=选择1
    初始大小=2
    RemoveBandoned=true
    RemoveBandonedTimeout=120
    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://someFQDNHostnameOrIP/someDBname
    用户名=您的用户名
    密码=您的密码
    
    您似乎没有配置使用MySQL后端的有效数据源

    org.hsqldb.hsqleexception:架构名称无效:RefugeeSweelComeApp

    取而代之的是,TomEE容器使用默认的后端配置,默认情况下是HSQLDB驱动的。这应该改变,看看:

  • 有关如何在此处正确配置数据源的一般信息:和
  • 以下位置的典型配置:
  • 可在以下位置找到工作/类似配置:

    
    JtaManaged=true
    DataSourceCreator=tomcat
    validationQuery=选择1
    初始大小=2
    RemoveBandoned=true
    RemoveBandonedTimeout=120
    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://someFQDNHostnameOrIP/someDBname
    用户名=您的用户名
    密码=您的密码
    
    看起来可疑。为了排除这一点:为什么您在这里没有一些凭据?@MWiesner jdbc.user和jdbc.password在这里没有凭据,只是为了这个问题,它通常存在于persistence.xml中。所以请查看我对第二条评论的建议。也许这可以帮助您在实际问题的背景下为稳定的设置进行配置:@MWiesner-thx对于您的建议和示例链接,这就是问题所在。对我来说有点不合逻辑,但配置是配置。。。很高兴见到你,公共假日和新年快乐。如果这对你有帮助,也许你可以接受。现在一切正常。
    看起来可疑。为了排除这一点:为什么您在这里没有一些凭据?@MWiesner jdbc.user和jdbc.password在这里没有凭据,只是为了这个问题,它通常存在于persistence.xml中。所以请查看我对第二条评论的建议。也许这可以帮助您在实际问题的背景下为稳定的设置进行配置:@MWiesner-thx对于您的建议和示例链接,这就是问题所在。对我来说有点不合逻辑,但配置是配置。。。很高兴见到你,公共假日和新年快乐。如果这对你有帮助,而且现在一切正常,也许你可以接受。
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
    
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("RefugEEWelcomeApp");
        EntityManager em        = emf.createEntityManager();
        CriteriaBuilder builder = em.getCriteriaBuilder();
    
        CriteriaQuery<TblProductCategoryEntity> query = builder.createQuery(TblProductCategoryEntity.class);
    
        Root<TblProductCategoryEntity> productCategoryEntityRoot = query.from(TblProductCategoryEntity.class);
    
        Predicate mainCatNull = builder.isNull(productCategoryEntityRoot.get(TblProductCategoryEntity_.maincategory));
    
        query.select(productCategoryEntityRoot).where(mainCatNull);
    
        List<TblProductCategoryEntity> results = em.createQuery(query).getResultList();
    
        List<String> urls = new ArrayList<>();
        List<Integer> subCat = new ArrayList<>();
    
        for (Object o: results){
            TblProductCategoryEntity e=(TblProductCategoryEntity) o;
            urls.add(e.getAttachments());
            subCat.add(e.getIdtblProductCategory());
            System.out.println(e.getAttachments());
            System.out.println(e.getIdtblProductCategory());
        }
    
        request.setAttribute("img", urls);
        request.setAttribute("id", subCat);
    
        getServletContext().getRequestDispatcher("/category.jsp").forward(request, response);
    }
    
    HTTP Status 500 - Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    
    type Exception report
    
    message Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    
    description The server encountered an internal error that prevented it from fulfilling this request.
    
    exception
    
    javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: invalid schema name: REFUGEESWELCOMEAPP
    Error Code: -4850
    Call: SELECT idtbl_product_category, attachments, maincategory FROM RefugeesWelcomeApp.tbl_product_category WHERE (maincategory IS NULL)
    Query: ReadAllQuery(referenceClass=TblProductCategoryEntity sql="SELECT idtbl_product_category, attachments, maincategory FROM RefugeesWelcomeApp.tbl_product_category WHERE (maincategory IS NULL)")
        org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:382)
        org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:260)
        org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:473)
        ra.servlets.getMainCategoryNative.doGet(getMainCategoryNative.java:31)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    root cause
    
    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: invalid schema name: REFUGEESWELCOMEAPP
    Error Code: -4850
    Call: SELECT idtbl_product_category, attachments, maincategory FROM RefugeesWelcomeApp.tbl_product_category WHERE (maincategory IS NULL)
    Query: ReadAllQuery(referenceClass=TblProductCategoryEntity sql="SELECT idtbl_product_category, attachments, maincategory FROM RefugeesWelcomeApp.tbl_product_category WHERE (maincategory IS NULL)")
        org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:684)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560)
        org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2055)
        org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2740)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2693)
        org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:559)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1175)
        org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1134)
        org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:460)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1222)
        org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
        org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)
        org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:473)
        ra.servlets.getMainCategoryNative.doGet(getMainCategoryNative.java:31)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    root cause
    
    java.sql.SQLException: invalid schema name: REFUGEESWELCOMEAPP
        org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
        org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:606)
        org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
        org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
        org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80)
        com.sun.proxy.$Proxy86.prepareStatement(Unknown Source)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1565)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1514)
        org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:778)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:621)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560)
        org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2055)
        org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2740)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2693)
        org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:559)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1175)
        org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1134)
        org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:460)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1222)
        org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
        org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)
        org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:473)
        ra.servlets.getMainCategoryNative.doGet(getMainCategoryNative.java:31)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    root cause
    
    org.hsqldb.HsqlException: invalid schema name: REFUGEESWELCOMEAPP
        org.hsqldb.error.Error.error(Unknown Source)
        org.hsqldb.error.Error.error(Unknown Source)
        org.hsqldb.SchemaManager.getSchemaHsqlName(Unknown Source)
        org.hsqldb.SchemaManager.getSchemaName(Unknown Source)
        org.hsqldb.Session.getSchemaName(Unknown Source)
        org.hsqldb.SchemaManager.getTable(Unknown Source)
        org.hsqldb.ParserDQL.readTableName(Unknown Source)
        org.hsqldb.ParserDQL.readTableOrSubquery(Unknown Source)
        org.hsqldb.ParserDQL.XreadTableReference(Unknown Source)
        org.hsqldb.ParserDQL.XreadFromClause(Unknown Source)
        org.hsqldb.ParserDQL.XreadTableExpression(Unknown Source)
        org.hsqldb.ParserDQL.XreadQuerySpecification(Unknown Source)
        org.hsqldb.ParserDQL.XreadSimpleTable(Unknown Source)
        org.hsqldb.ParserDQL.XreadQueryPrimary(Unknown Source)
        org.hsqldb.ParserDQL.XreadQueryTerm(Unknown Source)
        org.hsqldb.ParserDQL.XreadQueryExpressionBody(Unknown Source)
        org.hsqldb.ParserDQL.XreadQueryExpression(Unknown Source)
        org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
        org.hsqldb.ParserCommand.compilePart(Unknown Source)
        org.hsqldb.ParserCommand.compileStatement(Unknown Source)
        org.hsqldb.Session.compileStatement(Unknown Source)
        org.hsqldb.StatementManager.compile(Unknown Source)
        org.hsqldb.Session.execute(Unknown Source)
        org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
        org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:606)
        org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
        org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
        org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80)
        com.sun.proxy.$Proxy86.prepareStatement(Unknown Source)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1565)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1514)
        org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:778)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:621)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560)
        org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2055)
        org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2740)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2693)
        org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:559)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1175)
        org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1134)
        org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:460)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1222)
        org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
        org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)
        org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:473)
        ra.servlets.getMainCategoryNative.doGet(getMainCategoryNative.java:31)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    note The full stack trace of the root cause is available in the Apache Tomcat (TomEE)/7.0.63 (1.7.3) logs.
    
    Apache Tomcat (TomEE)/7.0.63 (1.7.3)
    
    HTTP Status 500 - Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    
    type Exception report
    
    message Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    
    description The server encountered an internal error that prevented it from fulfilling this request.
    
    exception
    
    javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: TBL_PRODUCT_CATEGORY
    Error Code: -5501
    Call: SELECT idtbl_product_category, attachments, maincategory FROM tbl_product_category WHERE (maincategory IS NULL)
    Query: ReadAllQuery(referenceClass=TblProductCategoryEntity sql="SELECT idtbl_product_category, attachments, maincategory FROM tbl_product_category WHERE (maincategory IS NULL)")
        org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:382)
        org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:260)
        org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:473)
        ra.servlets.getMainCategoryNative.doGet(getMainCategoryNative.java:31)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    root cause
    
    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150916-55dc7c3): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: TBL_PRODUCT_CATEGORY
    Error Code: -5501
    Call: SELECT idtbl_product_category, attachments, maincategory FROM tbl_product_category WHERE (maincategory IS NULL)
    Query: ReadAllQuery(referenceClass=TblProductCategoryEntity sql="SELECT idtbl_product_category, attachments, maincategory FROM tbl_product_category WHERE (maincategory IS NULL)")
        org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:684)
        org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560)
        org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2055)
        org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
        org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2740)
        org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2693)
        org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:559)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1175)
        org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1134)
        org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:460)
        org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1222)
        org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839)
        org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
        org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)
        org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:473)
        ra.servlets.getMainCategoryNative.doGet(getMainCategoryNative.java:31)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    root cause
    
    java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: TBL_PRODUCT_CATEGORY
        org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
        org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)...
    
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
    
        <persistence-unit name="RefugEEWelcomeApp" transaction-type="RESOURCE_LOCAL">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    
            <class>ra.model.RltnProductCategoryEntity</class>
            <class>ra.model.RltnProductCategoryLanguageEntity</class>
            <class>ra.model.RltnProductCategoryShopCategoryEntity</class>
            <class>ra.model.RltnProductLanguageEntity</class>
            <class>ra.model.RltnProductShopcategoryEntity</class>
            <class>ra.model.RltnShopCategoryLanguageEntity</class>
            <class>ra.model.TblLanguageEntity</class>
            <class>ra.model.TblProductEntity</class>
            <class>ra.model.TblProductCategoryEntity</class>
            <class>ra.model.TblShopCategoryEntity</class>
            <class>ra.model.TblShopsEntity</class>
    
            <properties>
                <property name="javax.persistence.logging.level" value="INFO"/>
                <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/RefugeesWelcomeApp"/>
                <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
                <property name="javax.persistence.jdbc.user" value=""/>
                <property name="javax.persistence.jdbc.password" value=""/>
            </properties>
        </persistence-unit>
    
    </persistence>
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
    
        <jsp-config>
            <jsp-property-group>
                <url-pattern>*.jsp</url-pattern>
                <page-encoding>UTF-8</page-encoding>
            </jsp-property-group>
        </jsp-config>
    
        <session-config>
            <session-timeout>1</session-timeout>
        </session-config>
    
        <servlet>
            <description>Getting MainCat ID for Subcat searching</description>
            <servlet-name>getMainCat</servlet-name>
            <servlet-class>ra.servlets.getMainCategory</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>getMainCat</servlet-name>
            <url-pattern>/getMainCat</url-pattern>
        </servlet-mapping>
    
    </web-app>
    
    @Entity
    @Table(name = "tbl_product_category", schema = "RefugeesWelcomeApp")
    public class TblProductCategoryEntity {
        private int idtblProductCategory;
        private Integer maincategory;
        private String attachments;
    
        @Id
        @Column(name = "idtbl_product_category")
        public int getIdtblProductCategory() {
            return idtblProductCategory;
        }
    
        public void setIdtblProductCategory(int idtblProductCategory) {
            this.idtblProductCategory = idtblProductCategory;
        }
    
        @Basic
        @Column(name = "maincategory")
        public Integer getMaincategory() {
            return maincategory;
        }
    
        public void setMaincategory(Integer maincategory) {
            this.maincategory = maincategory;
        }
    
        @Basic
        @Column(name = "attachments")
        public String getAttachments() {
            return attachments;
        }
    
        public void setAttachments(String attachments) {
            this.attachments = attachments;
        }
    
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
    
            TblProductCategoryEntity that = (TblProductCategoryEntity) o;
    
            if (idtblProductCategory != that.idtblProductCategory) return false;
            if (maincategory != null ? !maincategory.equals(that.maincategory) : that.maincategory != null) return false;
            if (attachments != null ? !attachments.equals(that.attachments) : that.attachments != null) return false;
    
            return true;
        }
    
        @Override
        public int hashCode() {
            int result = idtblProductCategory;
            result = 31 * result + (maincategory != null ? maincategory.hashCode() : 0);
            result = 31 * result + (attachments != null ? attachments.hashCode() : 0);
            return result;
        }
    }
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <Resource id="myDS-Name" type="javax.sql.DataSource">
        JtaManaged = true
        DataSourceCreator = tomcat
    
        validationQuery = SELECT 1
        initialSize = 2
        removeAbandoned = true
        removeAbandonedTimeout = 120
    
        driverClassName = com.mysql.jdbc.Driver
        url = jdbc:mysql://someFQDNHostnameOrIP/someDBname
        username = your-username
        password = your-pw
    </Resource>
    </resources>