Boa-tarde,
Esta vai para quem ja trabalhou com o VRaptor, principalmente para o Guilherme da Caelum …
Estou trabalhando em um projeto piloto. Estou utilizando O framework VRaptor2, hibernate 3.1 e ajax.
Já montei todo o relacionamento de minhas entidades, mas no momento de cadastrar um novo usuário, estou tendo o seguinte erro :
53607 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Construindo UsuarioLogic
53607 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - DaoFactory getInstance class br.com.contactmanager.dao.factory.DaoFactory
53607 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.connection.pool_size com o valor 1
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.max_fetch_depth com o valor 1
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.default_batch_fetch_size com o valor 100
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.order_updates com o valor true
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.jdbc.batch_versioned_data com o valor true
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.jdbc.use_streams_for_binary com o valor true
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.cache.provider_class com o valor org.hibernate.cache.HashtableCacheProvider
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.cache.use_query_cache com o valor true
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.cache.region_prefix com o valor hibernate.test
53617 [http-8080-Processor24] DEBUG br.com.contactmanager.logic.UsuarioLogic - Setando hibernate.query.substitutions com o valor true 1, false 0, yes 'Y', no 'N'
53627 [http-8080-Processor24] DEBUG org.apache.catalina.core.ApplicationDispatcher - servletPath=/usuario/adicionar.invalid.jsp, pathInfo=null, queryString=null, name=null
53627 [http-8080-Processor24] DEBUG org.apache.catalina.core.ApplicationDispatcher - Path Based Forward
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - JspEngine --> /usuario/adicionar.invalid.jsp
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - ServletPath: /usuario/adicionar.invalid.jsp
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - PathInfo: null
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - RealPath: D:\Marcio\_dev\servidores\apache-tomcat-5.5.15\webapps\ContactManager\usuario\adicionar.invalid.jsp
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - RequestURI: /ContactManager/usuario/adicionar.invalid.jsp
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - QueryString: usuario.login=&usuario.senha=&usuario.contato.telefone=&usuario.contato.celular=&usuario.contato.fax=&usuario.contato.email=&usuario.contato.pessoa.nome=&usuario.contato.pessoa.sobrenome=&usuario.contato.pessoa.nascimento=
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - Request Params:
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.contato.pessoa.nascimento =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.contato.fax =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.contato.celular =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.contato.telefone =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.contato.email =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.senha =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.login =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.contato.pessoa.nome =
53627 [http-8080-Processor24] DEBUG org.apache.jasper.servlet.JspServlet - usuario.contato.pessoa.sobrenome =
53627 [http-8080-Processor24] DEBUG org.apache.catalina.core.ApplicationDispatcher - Disabling the response for futher output
Seguem os modelos :
package br.com.contactmanager.modelo;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import br.com.contactmanager.modelo.util.BasePessoa;
/**
* @author Márcio Alves Barroso
*/
@Entity
public class Pessoa extends BasePessoa implements Serializable {
private static final long serialVersionUID = 1L;
@Id @GeneratedValue
private Long id;
private String nome;
private String sobrenome;
@Basic
@Temporal(TemporalType.DATE)
private Date nascimento;
private String cpf;
// Getters e Setters suprimidos
}
package br.com.contactmanager.modelo;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import br.com.contactmanager.modelo.util.BaseContato;
/**
* @author Márcio Alves Barroso
*/
@Entity
public class Contato extends BaseContato implements Serializable {
private static final long serialVersionUID = 1L;
@Id @GeneratedValue
private Long id;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "pessoa_id")
private Pessoa pessoa;
private Integer telefone;
private Integer celular;
private Integer fax;
private String email;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "equipe_id")
private Equipe equipe;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "departamento_id")
private Departamento departamento;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "tipocontato_id")
private TipoContato tipoContato;
public Contato() {
pessoa = new Pessoa();
equipe = new Equipe();
departamento = new Departamento();
tipoContato = new TipoContato();
}
// Getters e Setters suprimidos
}
package br.com.contactmanager.modelo;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import br.com.contactmanager.modelo.Contato;
/**
* @author Márcio Alves Barroso
*/
@Entity
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id @GeneratedValue
private Long id;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "contato_id")
private Contato contato;
private String login;
private String senha;
public Usuario() {
contato = new Contato();
}
// Getters e Setters suprimidos
}
Tenho um formulário que é usado para cadastrar um usuario.
Os campos do formulario são :
usuario.login
usuario.senha
usuario.contato.telefone
usuario.contato.celular
usuario.contato.fax
usuario.contato.email
usuario.contato.equipe.id
usuario.contato.departamento.id
usuario.contato.tipoContato.id
usuario.contato.pessoa.nome
usuario.contato.pessoa.sobrenome
usuario.contato.pessoa.nascimento
usuario.contato.pessoa.cpf
Sendo que para os campos de id, existe combos para a seleção.
Estou tendo problema quando submeto o form, pois olhando a query string da url, não existem todos os campos lá, só alguns.
Será que existe alguma configuração especial para fazer este form funcionar ?
Tenho no vraptor.xml o mapeamento da minha classe logic, tenho no view.properties o mapeamento do jsp.
Estou submentendo o form em usuario.adicionar.logic sendo que meu componente de negócio é o usuario e o método é adicionar.
Gostaria de uma sugestão de como resolver este problema.
[
]