Foros del Web » Programación para mayores de 30 ;) » Java »

Error usando persist() en Hibernate

Estas en el tema de Error usando persist() en Hibernate en el foro de Java en Foros del Web. Tengo este código : Código PHP: user . setFirstName ( requ . getParameter ( "nombre" )); user . setLastName ( requ . getParameter ( "apellidos" ...
  #1 (permalink)  
Antiguo 02/05/2013, 05:31
 
Fecha de Ingreso: mayo-2012
Mensajes: 26
Antigüedad: 12 años
Puntos: 0
Error usando persist() en Hibernate

Tengo este código:
Código PHP:
user.setFirstName(requ.getParameter("nombre"));
user.setLastName(requ.getParameter("apellidos"));
user.setEmailAddress(requ.getParameter("email"));

user.persist(); 
Estoy obteniendo este error:
Código PHP:
Validation failed for classes [com.springsource.marshall.domain.Userduring persist time for groups [javax.validation.groups.Default, ] List of constraint violations:[ ConstraintViolationImpl{interpolatedMessage='no puede ser null'propertyPath=emailAddressrootBeanClass=class com.springsource.marshall.domain.UsermessageTemplate='{javax.validation.constraints.NotNull.message}'ConstraintViolationImpl{interpolatedMessage='no puede ser null'propertyPath=passwordrootBeanClass=class com.springsource.marshall.domain.UsermessageTemplate='{javax.validation.constraints.NotNull.message}'ConstraintViolationImpl{interpolatedMessage='no puede ser null'propertyPath=firstNamerootBeanClass=class com.springsource.marshall.domain.UsermessageTemplate='{javax.validation.constraints.NotNull.message}'} ] 
Aqui esta la Traza:
Código PHP:
org.hibernate.cfg.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:161)
org.hibernate.cfg.beanvalidation.BeanValidationEventListener.onPreInsert(BeanValidationEventListener.java:94)
org.hibernate.action.EntityIdentityInsertAction.preInsert(EntityIdentityInsertAction.java:160)
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:65)
org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:69)
org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:179)
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:135)
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:808)
org.hibernate.impl.SessionImpl.persist(SessionImpl.java:782)
org.hibernate.impl.SessionImpl.persist(SessionImpl.java:786)
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:837)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365)
$Proxy48.persist(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
$Proxy50.persist(Unknown Source)
com.springsource.marshall.domain.User_Roo_Jpa_ActiveRecord.ajc$interMethod$com_springsource_marshall_domain_User_Roo_Jpa_ActiveRecord$com_springsource_marshall_domain_User$persist(User_Roo_Jpa_ActiveRecord.aj:43)
com.springsource.marshall.domain.User.persist(User.java:1)
com.springsource.marshall.domain.User_Roo_Jpa_ActiveRecord.ajc$interMethodDispatch1$com_springsource_marshall_domain_User_Roo_Jpa_ActiveRecord$com_springsource_marshall_domain_User$persist(User_Roo_Jpa_ActiveRecord.aj)
com.springsource.marshall.web.ReservaController.reservar2(ReservaController.java:197)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
.... 
Alguien tiene alguna posible solución??

Gracias!!
  #2 (permalink)  
Antiguo 02/05/2013, 06:00
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Error usando persist() en Hibernate

Hola,
A lo mejor te digo una tontería, pero porque no usas el método save y commit?

Saludos.
  #3 (permalink)  
Antiguo 03/05/2013, 04:16
 
Fecha de Ingreso: mayo-2012
Mensajes: 26
Antigüedad: 12 años
Puntos: 0
Respuesta: Error usando persist() en Hibernate

Gracias por la respuesta pero eso no lo soluciona.


He probado:
Código PHP:
User user = new User();    

System.out.println(requ.getParameter("email"));
System.out.println(requ.getParameter("nombre"));
System.out.println(requ.getParameter("apellidos"));
            
user.setFirstName(requ.getParameter("nombre"));
user.setLastName(requ.getParameter("apellidos"));
user.setEmailAddress(requ.getParameter("email"));
            
user.setPassword("poruesadf");
            
System.out.println("User:"+user);
user.persist(); 
Y he obtenido:
Cita:
[email protected]
myfirstname
mylastname
set firstname
User, nombre:User[firstName=<null>,lastName=<null>,emailAddress=<nul l>,password=<null>,activationDate=<null>,activatio nKey=<null>,enabled=<null>,locked=<null>,id=<null> ,version=<null>,clientes=<null>,incidencias=<null> ,userRoles=<null>,empresaId=<null>]
No sé porque todos los parámetros de user están a null


Aquí está mi User_Roo_DbManaged.aj:
Código PHP:
// WARNING: DO NOT EDIT THIS FILE. THIS FILE IS MANAGED BY SPRING ROO.
// You may push code into the target .java compilation unit if you wish to edit any member(s).

package com.springsource.marshall.domain;

import com.springsource.marshall.domain.Cliente;
import com.springsource.marshall.domain.Empresa;
import com.springsource.marshall.domain.Incidencia;
import com.springsource.marshall.domain.User;
import com.springsource.marshall.domain.UserRole;
import java.util.Date;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.springframework.format.annotation.DateTimeFormat;

privileged aspect User_Roo_DbManaged {
    
    @
OneToMany(mappedBy "userId")
    private 
Set<ClienteUser.clientes;
    
    @
OneToMany(mappedBy "userId")
    private 
Set<IncidenciaUser.incidencias;
    
    @
OneToMany(mappedBy "userEntry")
    private 
Set<UserRoleUser.userRoles;
    
    @
ManyToOne
    
@JoinColumn(name "empresa_id"referencedColumnName "id")
    private 
Empresa User.empresaId;
    
    @
Column(name "firstName"length 99insertable=false,updatable=false)
    private 
String User.firstName;
    
    @
Column(name "lastName"length 30insertable=false,updatable=false)
    private 
String User.lastName;
    
    @
Column(name "password"length 100insertable=false,updatable=false)
    private 
String User.password;
    
    @
Column(name "emailAddress"length 45insertable=false,updatable=false)
    private 
String User.emailAddress;
    
    
    @
Column(name "activationDate"insertable=false,updatable=false)
    @
Temporal(TemporalType.DATE)
    @
DateTimeFormat(style "M-")
    private 
Date User.activationDate;
    
    @
Column(name "activationKey"length 45insertable=false,updatable=false)
    private 
String User.activationKey;
    
    @
Column(name "enabled"insertable=false,updatable=false)
    private 
Boolean User.enabled;
    
    @
Column(name "locked"insertable=false,updatable=false)
    private 
Boolean User.locked;
    
    public 
Set<ClienteUser.getClientes() {
        return 
clientes;
    }
    
    public 
void User.setClientes(Set<Clienteclientes) {
        
this.clientes clientes;
    }
    
    public 
Set<IncidenciaUser.getIncidencias() {
        return 
incidencias;
    }
    
    public 
void User.setIncidencias(Set<Incidenciaincidencias) {
        
this.incidencias incidencias;
    }
    
    public 
Set<UserRoleUser.getUserRoles() {
        return 
userRoles;
    }
    
    public 
void User.setUserRoles(Set<UserRoleuserRoles) {
        
this.userRoles userRoles;
    }
    
    public 
Empresa User.getEmpresaId() {
        return 
empresaId;
    }
    
    public 
void User.setEmpresaId(Empresa empresaId) {
        
this.empresaId empresaId;
    }
    
    public 
String User.getFirstName() {
        return 
firstName;
    }
    
    public 
void User.setFirstName(String firstName) {
        
this.firstName firstName;
    }
    
    public 
String User.getLastName() {
        return 
lastName;
    }
    
    public 
void User.setLastName(String lastName) {
        
this.lastName lastName;
    }
    
    public 
String User.getPassword() {
        return 
password;
    }
    
    public 
void User.setPassword(String password) {
        
this.password password;
    }
    
    public 
String User.getEmailAddress() {
        return 
emailAddress;
    }
    
    public 
void User.setEmailAddress(String emailAddress) {
        
this.emailAddress emailAddress;
    }
    
    public 
Date User.getActivationDate() {
        return 
activationDate;
    }
    
    public 
void User.setActivationDate(Date activationDate) {
        
this.activationDate activationDate;
    }
    
    public 
String User.getActivationKey() {
        return 
activationKey;
    }
    
    public 
void User.setActivationKey(String activationKey) {
        
this.activationKey activationKey;
    }
    
    public 
Boolean User.getEnabled() {
        return 
enabled;
    }
    
    public 
void User.setEnabled(Boolean enabled) {
        
this.enabled enabled;
    }
    
    public 
Boolean User.getLocked() {
        return 
locked;
    }
    
    public 
void User.setLocked(Boolean locked) {
        
this.locked locked;
    }
    


Etiquetas: hibernate, persistencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:25.