Ola pessoal tudo bem? Mais uma vez venho pedir o auxilio de voces. Continuando meus estudos de Java Web, criei um formulario para cadastrar clientes e estou utilizando hibernate e struts. Estou aprendendo a lidar com eles agora , por isso estou apanhando bastante haha.
Meu problema é : eu criei as tabelas, porem na hora de salvar no banco de dados todos os campos estao sendo preenchidos com null. Eu estou fazendo alguma besteira no código que nao estou enxergando, talvez pelo fato de estar começando a aprender agora.
tenho essa classe cliente:
@Entity
public class Clientes {
private String nome, cnpj , ie,endereco , bairro , cidade , estado, cep , telefone , fax,
representante,email;
@Id
@GeneratedValue
private int cod;
public int getCod() {
return cod;
}
public void setCod(int cod) {
this.cod = cod;
}
private String codigo;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public String getIe() {
return ie;
}
public void setIe(String ie) {
this.ie = ie;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public String getRepresentante() {
return representante;
}
public void setRepresentante(String representante) {
this.representante = representante;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
}
Na minha action , quero receber os dados do formulario e salvar no banco de dados.
Minha action :
public class CadastrarClienteAction {
private Clientes cliente;
@Action(value = "Cadastrar", results = {
@Result(location = "cadastrado.jsp", name = "ok") }
)
public String execute() {
Session session = new HibernateUtils().getSession();
ClienteDao dao = new ClienteDao(session);
session.beginTransaction();
dao.salva(cliente);
session.getTransaction().commit();
session.close();
return "ok";
}
public void setCliente(Clientes c) {
this.cliente= c;
}
public Clientes getCLiente() {
return this.cliente;
}
}
Dao :
public class ClienteDao {
private Session session;
public ClienteDao(Session session){
this.session = session;
}
public void salva(Clientes c){
session.save(c);
}
public void remove(Clientes c ){
session.delete(c);
}
public Clientes procura(Long id) {
return (Clientes) this.session.load(Clientes.class, id);
}
public void atualiza (Clientes c) {
this.session.update(c);
}
}
e finalmente o JSP: ( colocarei apenas o formulario por questão de visualização )
<form action="Cadastrar" method="post">
<fieldset>
<label for="nome">Nome:</label>
<input id="nome" type="text" name="cliente.nome" />
<label for="ie">IE:</label> <input type="text" id="ie" name="cliente.ie" />
<label for="codigo">Código:</label> <input type="text" id="codigo" name="cliente.codigo" /><br />
<label for="telefone">Telefone:</label><input type="text" id="telefone" name="cliente.telefone" />
<label for="fax">Fax:</label><input type="text" id="fax" name="cliente.fax" /><br />
<label for="cnpj">CNPJ:</label> <input type="text" id="cnpj" name="cliente.cnpj" />
<label for="cep"> CEP:</label> <input type="text" id="cep" name="cliente.cep" />
<label for="endereco"> Endereço:</label> <input type="text" id="endereco" name="cliente.endereco" /><br />
<label for="cidade">Cidade:</label> <input type="text" id="cidade" name="cliente.cidade" />
<label for="bairro">Bairro:</label> <input type="text" id="bairro" name="cliente.bairro" />
<label for="email">Email:</label> <input type="text" id="email" name="cliente.email" /> <br />
<label for="estado">Estado:</label> <select id ="estado" name="cliente.estado">
<option>AC</option>
<option>AL</option>
<option>AP</option>
<option>AM</option>
<option>BA</option>
<option>CE</option>
<option>DF</option>
<option>ES</option>
<option>GO</option>
<option>MA</option>
<option>MG</option>
<option>MS</option>
<option>MT</option>
<option>PA</option>
<option>PB</option>
<option>PE</option>
<option>PI</option>
<option>PR</option>
<option>RJ</option>
<option>RN</option>
<option>RO</option>
<option>RR</option>
<option>RS</option>
<option>SC</option>
<option>SE</option>
<option>SP</option>
<option>TO</option>
</select>
<label for="representante">Representante:</label> <input type="text" id="representante" name="cliente.representante" /><br />
<br />
<input type="submit" id="enviar" value="Salvar" /> <input id="limpar" type="reset" value="Limpar" />
<input type="hidden" id="cadastro" name="Logica" value="cadastrarcliente" />
</fieldset>
</form>
Por favor ,alguem que puder dar uma olhada no meu código e puder me dar umas dicas ou enxergue meu erro , ficarei muito grato.