Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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
JavaEE+eclipseLink+TomEE给出了java.sql.SQLSyntaxErrorException:用户缺乏权限或找不到对象_Java_Mysql_Web Services_Eclipselink_Apache Tomee - Fatal编程技术网

JavaEE+eclipseLink+TomEE给出了java.sql.SQLSyntaxErrorException:用户缺乏权限或找不到对象

JavaEE+eclipseLink+TomEE给出了java.sql.SQLSyntaxErrorException:用户缺乏权限或找不到对象,java,mysql,web-services,eclipselink,apache-tomee,Java,Mysql,Web Services,Eclipselink,Apache Tomee,我尝试使用rest服务eclipseLink和mysql制作一个简单的应用程序。 我想在TomEE服务器apache-TomEE-plush-1.7.4上运行这个程序 我使用eclipse部署应用程序 部署似乎还可以 当我去的时候,我得到: javax.servlet.ServletException: Error processing webservice request org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJ

我尝试使用rest服务eclipseLink和mysql制作一个简单的应用程序。 我想在TomEE服务器apache-TomEE-plush-1.7.4上运行这个程序

我使用eclipse部署应用程序

部署似乎还可以

当我去的时候,我得到:

javax.servlet.ServletException: Error processing webservice request
    org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:98)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

java.io.IOException: Failed to invoke AbstractHTTPDestination
    org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:229)
    org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:94)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

java.lang.RuntimeException: org.apache.cxf.interceptor.Fault: 
Internal Exception: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: ELEVE
Error Code: -5501
Call: SELECT ID, ADRESSE, classe, date_naissance, NOM, PRENOM, SEXE FROM ELEVE
Query: ReadAllQuery(referenceClass=Eleve sql="SELECT ID, ADRESSE, classe, date_naissance, NOM, PRENOM, SEXE FROM ELEVE")
    org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116)
    org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:324)
    org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:240)
    org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:227)
    org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:94)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
这是我的persistence.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0"
        xmlns="http://java.sun.com/xml/ns/persistence"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="notePU" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>com.test.eleve.model.Eleve</class>
        <properties>
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="" />
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/notes_eleves" />
            <!-- <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> -->
            <property name="eclipselink.logging.level" value="INFO" />
        </properties>
    </persistence-unit>
</persistence>
我一定错过了什么,但我找不到什么

我把代码推到这里:


谢谢你的帮助

我终于在第1.7和第7卷上成功了

这就是我必须做的改变:

从persistence.xml中删除与数据库相关的属性 用persistence.xml中的jta数据源替换非jta数据源标记 将mysql连接器jar放在我的服务器/lib中 在我的服务器/conf/tomee.xml中,我添加了myDatasource配置作为资源。
将@XmlRootElementname=eleve放在我的eleve实体上这似乎是TomEE上唯一必须的我终于设法使它在TomEE 1.7和7上工作

这就是我必须做的改变:

从persistence.xml中删除与数据库相关的属性 用persistence.xml中的jta数据源替换非jta数据源标记 将mysql连接器jar放在我的服务器/lib中 在我的服务器/conf/tomee.xml中,我添加了myDatasource配置作为资源。
将@XmlRootElementname=eleve放在我的eleve实体上这似乎是TomEE Bonjour上唯一必须的,您的表eleve是否存在于MySQL数据库中?不应该是transaction type=JTA而不是transaction type=RESOURCE\u LOCAL?您好,是的,它存在,并且查询选择ID、ADRESE、CLASS、date\u naissance、NOM、PRENOM、,ELEVE的SEXE返回我在mysql中所期望的内容console@leo为什么应该是JTA?因为我想你想让tomee处理持久性-请看Bonjour,MySQL数据库中是否存在table ELEVE?不应该是transaction type=JTA而不是transaction type=RESOURCE\u LOCAL?您好,是的,它存在,查询选择ID、ADRESSE、classe,来自ELEVE的date_naissance、NOM、PRENOM、SEXE返回我对mysql的期望console@leo为什么应该是JTA?因为我想你想让我来处理持久性-看到了吗