Java SpringREST+JPA2.0事务管理-返回要删除的空值
I get对象:null不是已知的实体类型。错误我认为,我的SpringREST+JPA应用程序中缺少配置 在我的代码中,运算符Operator=em.findOperator.class,operatorId;,返回空值。对不起,我的代码太长了 OperatorDAO.javaJava SpringREST+JPA2.0事务管理-返回要删除的空值,java,spring-mvc,jpa,Java,Spring Mvc,Jpa,I get对象:null不是已知的实体类型。错误我认为,我的SpringREST+JPA应用程序中缺少配置 在我的代码中,运算符Operator=em.findOperator.class,operatorId;,返回空值。对不起,我的代码太长了 OperatorDAO.java package com.ignite.easyticket.core.operator.persistence; @Repository("OperatorDAO") public class OperatorDAO
package com.ignite.easyticket.core.operator.persistence;
@Repository("OperatorDAO")
public class OperatorDAO extends BasicDAO implements IOperatorDAO {
...
@Transactional(propagation = Propagation.REQUIRED)
public void delete(String operatorId) throws DAOException {
try {
logger.debug("delete() method has been started.");
Operator operator = em.find(Operator.class, operatorId); // <- Here always return null value, I am sure there is a record with id
em.remove(operator);
em.flush();
logger.debug("delete() method has been successfully finisehd.");
} catch (PersistenceException pe) {
logger.error("delete() method has been failed.", pe);
throw translate("Failed to update Operator", pe);
}
}
}
OperatorController.java
包com.ignite.easyticket.webservice
@Controller
public class OperatorController {
@RequestMapping(value = URIConstant.OPERATOR_DELETE, method = RequestMethod.POST)
public @ResponseBody
void deleteOperator(@RequestBody String operatorId) {
logger.info("deleteOperator() proces has been started...");
operatorService.deleteOperator(operatorId);
logger.info("deleteOperator() proces has been finished...");
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans....>
<import resource="spring-beans.xml" />
<context:component-scan base-package="com.ignite.easyticket.webservice" />
<mvc:annotation-driven/>
<mvc:default-servlet-handler/>
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonMessageConverter"/>
</list>
</property>
</bean>
<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</beans>
spring-beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>
<context:annotation-config/>
<context:component-scan base-package="com.ignite.easyticket.core"/>
<tx:annotation-driven transaction-manager="transactionManager" />
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<util:properties id="SQL_ERROR_CODE" location="classpath:SQL_ERROR_CODE.properties"/>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="JPA"/>
<property name="jpaVendorAdapter" ref="jpaVendorAdapter"/>
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect"/>
</property>
<property name="jpaPropertyMap">
<props>
<prop key="eclipselink.weaving">false</prop>
</props>
</property>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver">
</bean>
</property>
</bean>
<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
<property name="databasePlatform" value="org.eclipse.persistence.platform.database.MySQLPlatform"/>
<property name="generateDdl" value="false"/>
<property name="showSql" value="true"/>
</bean>
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="com.ignite.easyticket.core.common.SystemException">System Error!</prop>
</props>
</property>
</bean>
</beans>
全堆栈跟踪
17:15:18,452 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'appServlet' processing POST request for [/easyticket/operator/delete]
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Looking up handler method for path /operator/delete
17:15:18,452 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'appServlet' processing GET request for [/easyticket/operator/findall]
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Looking up handler method for path /operator/findall
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Returning handler method [public void com.ignite.easyticket.webservic
e.OperatorController.deleteOperator(java.lang.String)]
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'operatorController'
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Returning handler method [public java.util.List<com.ignite.easyticket
.core.operator.Operator> com.ignite.easyticket.webservice.OperatorController.findAllOperator()]
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'operatorController'
17:15:18,454 DEBUG [org.springframework.web.servlet.DispatcherServlet] Last-Modified value for [/easyticket/operator/findall] is: -1
17:15:18,454 INFO [com.ignite.easyticket.webservice.OperatorController] findAllOperator() proces has been started...
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Creating new transaction with name [com.ignite.easyticket.core.operator.service.OperatorService.findAl
lOperator]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
17:15:18,454 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor] Reading [java.lang.String] as "application/json;charset=utf-8"
using [org.springframework.http.converter.StringHttpMessageConverter@1b3d448]
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Opened new EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@354949] for JPA trans
action
17:15:18,454 INFO [com.ignite.easyticket.webservice.OperatorController] deleteOperator() proces has been started...
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.service.OperatorService] findAllOperator() method has been started.
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Creating new transaction with name [com.ignite.easyticket.core.operator.service.OperatorService.delete
Operator]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Found thread-bound EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@354949] for J
PA transaction
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Opened new EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f7] for JPA trans
action
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Participating in existing transaction
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.service.OperatorService] deleteOperator() method has been started.
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Found thread-bound EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f7] for J
PA transaction
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Participating in existing transaction
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.persistence.OperatorDAO] findAll() method has been started.
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.persistence.OperatorDAO] delete() method has been started.
[EL Config]: connection: 2014-10-31 17:15:18.454--ServerSession(17807976)--Connection(7484998)--Thread(Thread[http-bio-8080-exec-3,5,main])--connecting(DatabaseLogin(
platform=>MySQLPlatform
user name=> "spangular"
datasource URL=> "jdbc:mysql://localhost:3306/spangular"
))
[EL Fine]: sql: 2014-10-31 17:15:18.454--ClientSession(4796401)--Connection(6084601)--Thread(Thread[http-bio-8080-exec-4,5,main])--SELECT ID, ADDRESS, BANKACCOUNT, NAME, PHO
NE, VERSION FROM OPERATOR
17:15:18,457 DEBUG [com.ignite.easyticket.core.operator.persistence.OperatorDAO] findAll() method has been started.
17:15:18,457 DEBUG [com.ignite.easyticket.core.operator.service.OperatorService] findAllOperator() method has been successfully finisehd.
17:15:18,457 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Initiating transaction commit
17:15:18,457 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Committing JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@35
4949]
[EL Config]: connection: 2014-10-31 17:15:18.463--ServerSession(17807976)--Connection(14393847)--Thread(Thread[http-bio-8080-exec-3,5,main])--Connected: jdbc:mysql://localho
st:3306/spangular
User: spangular@localhost
Database: MySQL Version: 5.6.14-log
Driver: MySQL-AB JDBC Driver Version: mysql-connector-java-5.1.6 ( Revision: ${svn.Revision} )
17:15:18,463 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Closing JPA EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@354949] after transa
ction
17:15:18,463 DEBUG [org.springframework.orm.jpa.EntityManagerFactoryUtils] Closing JPA EntityManager
17:15:18,463 INFO [com.ignite.easyticket.webservice.OperatorController] findAllOperator() proces has been finished...
[EL Fine]: sql: 2014-10-31 17:15:18.463--ClientSession(23489242)--Connection(14393847)--Thread(Thread[http-bio-8080-exec-3,5,main])--SELECT ID, ADDRESS, BANKACCOUNT, NAME, P
HONE, VERSION FROM OPERATOR WHERE (ID = ?)
bind => [{"id":"OPE000000000001"}]
17:15:18,463 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Participating transaction failed - marking existing transaction as rollback-only
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Setting JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f
7] rollback-only
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Initiating transaction rollback
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Rolling back JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@
5e88f7]
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor] Written [[com.ignite.easyticket.core.operator.Operator@4468130e
, com.ignite.easyticket.core.operator.Operator@2d068d15]] as "application/json;charset=UTF-8" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConver
ter@14c7f77]
17:15:18,465 DEBUG [org.springframework.web.servlet.DispatcherServlet] Null ModelAndView returned to DispatcherServlet with name 'appServlet': assuming HandlerAdapter comple
ted request handling
17:15:18,465 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Closing JPA EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f7] after transa
ction
17:15:18,465 DEBUG [org.springframework.orm.jpa.EntityManagerFactoryUtils] Closing JPA EntityManager
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver] Resolving exception from handler [public void com.ignite.easytic
ket.webservice.OperatorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver] Resolving exception from handler [public void com.ignite.easyticket.webse
rvice.OperatorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver] Resolving exception from handler [public void com.ignite.easyticket.webservi
ce.OperatorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.handler.SimpleMappingExceptionResolver] Resolving exception from handler [public void com.ignite.easyticket.webservice.Op
eratorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.DispatcherServlet] Could not complete request
java.lang.IllegalArgumentException: Object: null is not a known entity type.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.remove(EntityManagerImpl.java:560)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:241)
at $Proxy17.remove(Unknown Source)
at com.ignite.easyticket.core.operator.persistence.OperatorDAO.delete(OperatorDAO.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy26.delete(Unknown Source)
at com.ignite.easyticket.core.operator.service.OperatorService.deleteOperator(OperatorService.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy27.deleteOperator(Unknown Source)
at com.ignite.easyticket.webservice.OperatorController.deleteOperator(OperatorController.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:619)
Oct 31, 2014 5:15:18 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/easyticket] threw exception [Request processing failed; nested exception is java.lang.IllegalArgume
ntException: Object: null is not a known entity type.] with root cause
java.lang.IllegalArgumentException: Object: null is not a known entity type.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.remove(EntityManagerImpl.java:560)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:241)
at $Proxy17.remove(Unknown Source)
at com.ignite.easyticket.core.operator.persistence.OperatorDAO.delete(OperatorDAO.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy26.delete(Unknown Source)
at com.ignite.easyticket.core.operator.service.OperatorService.deleteOperator(OperatorService.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy27.deleteOperator(Unknown Source)
at com.ignite.easyticket.webservice.OperatorController.deleteOperator(OperatorController.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:619)
竖立
要了解更多信息,请务必检查数据库
您能将操作员ID记录在OperatorDAO.delete中吗?类似于:logger.debugdelete方法已使用>+operatorId+@SergeBallesta启动,在我的堆栈跟踪中,有一个日志选择ID、地址、银行帐户、名称、电话、来自OPERATOR的版本,其中ID=?绑定=>[{id:OPE000000000001}]。我确信在日志中有记录,findAllOperator程序已经完成。。。然后参与事务失败-将现有事务标记为仅回滚。你知道为什么交易会倒退吗?直接在数据库中执行时,是否从操作员处选择ID、地址、银行帐户、姓名、电话、版本,其中ID='OPE000000000001'有效?@PredFragmaric,是,事务回滚。我认为,因为select记录是空的。直接在数据库中执行查询时的工作。从操作员处选择ID、地址、银行帐户、姓名、电话、版本,其中ID='OPEG000000000001'是否在数据库中工作?从日志判断,在此之前,您正在调用getAllOperators,几乎在同一毫秒内,是否会有一些事务重叠?您是否可以隔离测试用例以删除操作符,甚至使用硬编码id?
17:15:18,452 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'appServlet' processing POST request for [/easyticket/operator/delete]
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Looking up handler method for path /operator/delete
17:15:18,452 DEBUG [org.springframework.web.servlet.DispatcherServlet] DispatcherServlet with name 'appServlet' processing GET request for [/easyticket/operator/findall]
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Looking up handler method for path /operator/findall
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Returning handler method [public void com.ignite.easyticket.webservic
e.OperatorController.deleteOperator(java.lang.String)]
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'operatorController'
17:15:18,452 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] Returning handler method [public java.util.List<com.ignite.easyticket
.core.operator.Operator> com.ignite.easyticket.webservice.OperatorController.findAllOperator()]
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'operatorController'
17:15:18,454 DEBUG [org.springframework.web.servlet.DispatcherServlet] Last-Modified value for [/easyticket/operator/findall] is: -1
17:15:18,454 INFO [com.ignite.easyticket.webservice.OperatorController] findAllOperator() proces has been started...
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Creating new transaction with name [com.ignite.easyticket.core.operator.service.OperatorService.findAl
lOperator]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
17:15:18,454 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor] Reading [java.lang.String] as "application/json;charset=utf-8"
using [org.springframework.http.converter.StringHttpMessageConverter@1b3d448]
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Opened new EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@354949] for JPA trans
action
17:15:18,454 INFO [com.ignite.easyticket.webservice.OperatorController] deleteOperator() proces has been started...
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.service.OperatorService] findAllOperator() method has been started.
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Creating new transaction with name [com.ignite.easyticket.core.operator.service.OperatorService.delete
Operator]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Found thread-bound EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@354949] for J
PA transaction
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Opened new EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f7] for JPA trans
action
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Participating in existing transaction
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.service.OperatorService] deleteOperator() method has been started.
17:15:18,454 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'transactionManager'
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Found thread-bound EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f7] for J
PA transaction
17:15:18,454 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Participating in existing transaction
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.persistence.OperatorDAO] findAll() method has been started.
17:15:18,454 DEBUG [com.ignite.easyticket.core.operator.persistence.OperatorDAO] delete() method has been started.
[EL Config]: connection: 2014-10-31 17:15:18.454--ServerSession(17807976)--Connection(7484998)--Thread(Thread[http-bio-8080-exec-3,5,main])--connecting(DatabaseLogin(
platform=>MySQLPlatform
user name=> "spangular"
datasource URL=> "jdbc:mysql://localhost:3306/spangular"
))
[EL Fine]: sql: 2014-10-31 17:15:18.454--ClientSession(4796401)--Connection(6084601)--Thread(Thread[http-bio-8080-exec-4,5,main])--SELECT ID, ADDRESS, BANKACCOUNT, NAME, PHO
NE, VERSION FROM OPERATOR
17:15:18,457 DEBUG [com.ignite.easyticket.core.operator.persistence.OperatorDAO] findAll() method has been started.
17:15:18,457 DEBUG [com.ignite.easyticket.core.operator.service.OperatorService] findAllOperator() method has been successfully finisehd.
17:15:18,457 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Initiating transaction commit
17:15:18,457 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Committing JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@35
4949]
[EL Config]: connection: 2014-10-31 17:15:18.463--ServerSession(17807976)--Connection(14393847)--Thread(Thread[http-bio-8080-exec-3,5,main])--Connected: jdbc:mysql://localho
st:3306/spangular
User: spangular@localhost
Database: MySQL Version: 5.6.14-log
Driver: MySQL-AB JDBC Driver Version: mysql-connector-java-5.1.6 ( Revision: ${svn.Revision} )
17:15:18,463 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Closing JPA EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@354949] after transa
ction
17:15:18,463 DEBUG [org.springframework.orm.jpa.EntityManagerFactoryUtils] Closing JPA EntityManager
17:15:18,463 INFO [com.ignite.easyticket.webservice.OperatorController] findAllOperator() proces has been finished...
[EL Fine]: sql: 2014-10-31 17:15:18.463--ClientSession(23489242)--Connection(14393847)--Thread(Thread[http-bio-8080-exec-3,5,main])--SELECT ID, ADDRESS, BANKACCOUNT, NAME, P
HONE, VERSION FROM OPERATOR WHERE (ID = ?)
bind => [{"id":"OPE000000000001"}]
17:15:18,463 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Participating transaction failed - marking existing transaction as rollback-only
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Setting JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f
7] rollback-only
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Initiating transaction rollback
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Rolling back JPA transaction on EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@
5e88f7]
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor] Written [[com.ignite.easyticket.core.operator.Operator@4468130e
, com.ignite.easyticket.core.operator.Operator@2d068d15]] as "application/json;charset=UTF-8" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConver
ter@14c7f77]
17:15:18,465 DEBUG [org.springframework.web.servlet.DispatcherServlet] Null ModelAndView returned to DispatcherServlet with name 'appServlet': assuming HandlerAdapter comple
ted request handling
17:15:18,465 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request
17:15:18,465 DEBUG [org.springframework.orm.jpa.JpaTransactionManager] Closing JPA EntityManager [org.eclipse.persistence.internal.jpa.EntityManagerImpl@5e88f7] after transa
ction
17:15:18,465 DEBUG [org.springframework.orm.jpa.EntityManagerFactoryUtils] Closing JPA EntityManager
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver] Resolving exception from handler [public void com.ignite.easytic
ket.webservice.OperatorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver] Resolving exception from handler [public void com.ignite.easyticket.webse
rvice.OperatorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver] Resolving exception from handler [public void com.ignite.easyticket.webservi
ce.OperatorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.handler.SimpleMappingExceptionResolver] Resolving exception from handler [public void com.ignite.easyticket.webservice.Op
eratorController.deleteOperator(java.lang.String)]: java.lang.IllegalArgumentException: Object: null is not a known entity type.
17:15:18,465 DEBUG [org.springframework.web.servlet.DispatcherServlet] Could not complete request
java.lang.IllegalArgumentException: Object: null is not a known entity type.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.remove(EntityManagerImpl.java:560)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:241)
at $Proxy17.remove(Unknown Source)
at com.ignite.easyticket.core.operator.persistence.OperatorDAO.delete(OperatorDAO.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy26.delete(Unknown Source)
at com.ignite.easyticket.core.operator.service.OperatorService.deleteOperator(OperatorService.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy27.deleteOperator(Unknown Source)
at com.ignite.easyticket.webservice.OperatorController.deleteOperator(OperatorController.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:619)
Oct 31, 2014 5:15:18 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/easyticket] threw exception [Request processing failed; nested exception is java.lang.IllegalArgume
ntException: Object: null is not a known entity type.] with root cause
java.lang.IllegalArgumentException: Object: null is not a known entity type.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.remove(EntityManagerImpl.java:560)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:241)
at $Proxy17.remove(Unknown Source)
at com.ignite.easyticket.core.operator.persistence.OperatorDAO.delete(OperatorDAO.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy26.delete(Unknown Source)
at com.ignite.easyticket.core.operator.service.OperatorService.deleteOperator(OperatorService.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy27.deleteOperator(Unknown Source)
at com.ignite.easyticket.webservice.OperatorController.deleteOperator(OperatorController.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:619)