java - Hibernate通过rest api进行插入操作

标签 java mysql hibernate rest runtime-error

这是我的资源文件代码。我想通过 REST API 将一些数据插入数据库,但遇到一些错误(内部 500 错误)。来到Eclipse,我遇到一些错误,如下所示:

 import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.telusko.dao.EmpRepositary;



@Path("employees")
public class EmpResource
{
EmpRepositary repo = new EmpRepositary();
@GET
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public List<Emp> getEmp()
{
System.out.println("getEmployee called...");        
return repo.getEmp();
}


@POST
@Path("employee")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public Response addEmployee(Emp e1)
{
e1.setE_code(e1.getE_code());
e1.setE_name(e1.getE_name());
e1.setSalary(e1.getSalary());
System.out.println(e1);
repo.addEmployee(e1);
return Response.ok().build();
}
}

这是我在 Eclipse 中的错误部分,它是在 Rest api 错误中运行后出现在我的 Eclipse 中的,我面临如何解决它????

Jan 31, 2020 6:13:44 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
Jan 31, 2020 6:13:44 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.6.Final}
Jan 31, 2020 6:13:44 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Jan 31, 2020 6:13:44 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
 Jan 31, 2020 6:13:44 PM org.hibernate.cfg.Configuration configure
 INFO: HHH000043: Configuring from resource: hibernate.cfg.xml
    Jan 31, 2020 6:13:44 PM org.hibernate.cfg.Configuration getConfigurationInputStream
    INFO: HHH000040: Configuration resource: hibernate.cfg.xml
    Jan 31, 2020 6:13:44 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [Jersey Web Application] in context with path [/employeeh] threw exception [org.glassfish.jersey.server.ContainerException: java.lang.ExceptionInInitializerError] with root cause
    java.lang.ClassNotFoundException: com.telusko.employeeh.emp
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.hibernate.internal.util.ReflectHelper.classForName(ReflectHelper.java:192)
        at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2132)
        at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2083)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2063)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2016)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:1931)
        at com.telusko.dao.SessionUtill.<init>(SessionUtill.java:24)
        at com.telusko.dao.SessionUtill.<clinit>(SessionUtill.java:15)
        at com.telusko.dao.EmpRepositary.addEmployee(EmpRepositary.java:41)
        at com.telusko.employeeh.EmpResource.addEmployee(EmpResource.java:40)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471)
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Unknown Source)

    Jan 31, 2020 6:14:12 PM org.apache.catalina.core.StandardContext reload
    INFO: Reloading Context with name [/employeeh] has started
    Jan 31, 2020 6:14:14 PM org.apache.jasper.servlet.TldScanner scanJars
    INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    Jan 31, 2020 6:14:15 PM org.apache.catalina.core.StandardContext reload
    INFO: Reloading Context with name [/employeeh] is completed

最佳答案

从堆栈跟踪看来,您的 Hibernate 配置文件之一包含 com.telusko.employeeh.emp 的类引用,而不是 com.telusko.employeeh.Emp >.
请参阅:

    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2132)

关于java - Hibernate通过rest api进行插入操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60004536/

相关文章:

java - JCIFS - 如何获取文件夹中最后修改的文件的名称?

mysql - 如何在 bash 中有效地将 long int 转换为 dotted quad IP

php - 如何使用mysql中的数据创建树形菜单?

从数据库加载对象时java对象相等

mysql - Spring JpaRepository findBy...In(Collection) 返回并集而不是交集

java - spring 初始化后预热 Neo4j 数据库

java - 知道任何 Java 垃圾收集日志分析工具吗?

java - 我在 ant 中使用应用程序 bundler 时遇到错误

MYSQL:选择然后更新。双重处理问题

java - 使用 Hibernate,我可以在同一个表中混合每个子类表和 <map> 吗?