Pessoal,
Estou seguindo a apostila FJ-28 da Caelum.
Estou terminando o capítulo 8, onde é inserida a validação utilizando o hibernate validator.
Até então estava tudo funcionando perfeitamente, exclusão, alteração e inserção. Depois de inseridas as anotations do validator, configurado o vraptor.xml e tudo mais que a apostila manda fazer, a validação funciona, e não consigo inserir uma música sem nome por exemplo, porém a exclusão não funciona mais.
O erro é o seguinte:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: not-null property references a null or transient value: br.com.caelum.lojavirtual.modelo.Cd.titulo
org.vraptor.VRaptorServlet.service(VRaptorServlet.java:95)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.caelum.lojavirtual.modelo.Cd.titulo
org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity(DefaultDeleteEventListener.java:250)
org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:141)
org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:52)
org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:766)
org.hibernate.impl.SessionImpl.delete(SessionImpl.java:744)
br.com.caelum.lojavirtual.dao.DAO.remove(DAO.java:27)
br.com.caelum.lojavirtual.logic.CdLogic.remove(CdLogic.java:43)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)
org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
br.com.caelum.lojavirtual.logic.DAOInterceptor.intercept(DAOInterceptor.java:17)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
br.com.caelum.lojavirtual.logic.AutorizadorInterceptor.intercept(AutorizadorInterceptor.java:26)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)
org.vraptor.core.DefaultController.execute(DefaultController.java:42)
org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.14
e no log do Tomcat é o seguinte:
13:49:13,671 DEBUG SessionImpl:220 - opened session at timestamp: [telefone removido]
13:49:13,671 DEBUG JDBCTransaction:54 - begin
13:49:13,671 DEBUG ConnectionManager:421 - opening JDBC connection
13:49:13,671 DEBUG DriverManagerConnectionProvider:93 - total checked-out connections: 2
13:49:13,671 DEBUG DriverManagerConnectionProvider:109 - opening new JDBC connection
13:49:13,703 DEBUG DriverManagerConnectionProvider:115 - created connection to: jdbc:mysql://localhost/vraptor, Isolation Level: 4
13:49:13,703 DEBUG JDBCTransaction:59 - current autocommit status: false
13:49:13,703 DEBUG JDBCContext:210 - after transaction begin
13:49:13,718 DEBUG DefaultDeleteEventListener:76 - entity was not persistent in delete processing
13:49:13,718 DEBUG IdentifierValue:104 - id unsaved-value: null
13:49:13,718 DEBUG DefaultDeleteEventListener:213 - deleting [br.com.caelum.lojavirtual.modelo.Cd#20]
13:49:13,718 DEBUG SessionImpl:1308 - setting cache mode to: GET
13:49:13,718 DEBUG SessionImpl:1308 - setting cache mode to: NORMAL
26/09/2007 13:49:13 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet vraptor2 threw exception
org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.caelum.lojavirtual.modelo.Cd.titulo
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
at org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity(DefaultDeleteEventListener.java:250)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:141)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:52)
at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:766)
at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:744)
at br.com.caelum.lojavirtual.dao.DAO.remove(DAO.java:27)
at br.com.caelum.lojavirtual.logic.CdLogic.remove(CdLogic.java:43)
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.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)
at org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at br.com.caelum.lojavirtual.logic.DAOInterceptor.intercept(DAOInterceptor.java:17)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at br.com.caelum.lojavirtual.logic.AutorizadorInterceptor.intercept(AutorizadorInterceptor.java:26)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)
at org.vraptor.core.DefaultController.execute(DefaultController.java:42)
at org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Se alguém puder me ajudar agradeço, ja que estou apanhando disso ja fazem algumas horas e não encontrei solução em lugar nenhum.
Valew