Bom dia pessoal!
Sou iniciante na programção com o Java EE, mas estou me esforçando muito para aprender.
Antes de mais nada gostaria de relatar que já pesquisei e tentei resolver meu problema de varias maneiras, mas infelizmente não estou conseguindo sucesso.
Estou realizando um formulario (bem simples) de cadastro de um contato, com as tecnologias Hibernate, JSF 2.0 e uma implementação PrimeFaces.
O problema é que não estou conseguindo persistir meu objeto no banco de forma alguma.
Abaixo segue as classes:
Parte da Visão
<h:head>
<title>Cadastro de Clientes TCC Ciência da Computação</title>
</h:head>
<h:body>
<h:graphicImage value="/imagens/unifil.gif" style="width: 250px; padding-bottom: 10px "></h:graphicImage>
<h:form>
<p:panel header="Cadastrar Novo Contato" style="margin-right: 870px">
<h:panelGrid columns="2" cellpadding="5" >
<h:outputText value="Nome:"></h:outputText>
<p:inputText size="25" value="#{controleCliente.nome}" required="true" requiredMessage="Campo Obrigatório"></p:inputText>
<h:outputText value="Endereço:"></h:outputText>
<p:inputText size="25" value="#{controleCliente.endereco}"></p:inputText>
<h:outputText value="Tel Residencial:"></h:outputText>
<p:inputText size="25" value="#{controleCliente.telRes}"></p:inputText>
<h:outputText value="Tel Celular:"></h:outputText>
<p:inputText size="25" value="#{controleCliente.telCel}"></p:inputText>
<h:outputText value="E-mail:"></h:outputText>
<p:inputText size="25" value="#{controleCliente.eMail}"></p:inputText>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Gravar" actionListener="#{controleCliente.gravarFormulario}"></p:commandButton>
<p:commandButton value="Limpar" type="reset"></p:commandButton>
</h:panelGrid>
Classe de Controle:
package com.amazonaws.controle;
import com.amazonaws.modelo.Contato;
import com.amazonaws.modelo.ContatoHelper;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
/**
*
* @author Marcia
*/
@ManagedBean
@RequestScoped
public class ControleCliente {
private String nome;
private String endereco;
private String telRes;
private String telCel;
private String eMail;
public String geteMail() {
return eMail;
}
public void seteMail(String eMail) {
this.eMail = eMail;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelCel() {
return telCel;
}
public void setTelCel(String telCel) {
this.telCel = telCel;
}
public String getTelRes() {
return telRes;
}
public void setTelRes(String telRes) {
this.telRes = telRes;
}
public void limparFormulario() {
this.nome = "";
this.endereco = "";
this.telCel = "";
this.telRes = "";
}
public void gravarFormulario() {
Contato contato = new Contato();
ContatoHelper grvcontato = new ContatoHelper();
contato.setNome(nome);
contato.setEndereco(endereco);
contato.setTelres(telRes);
contato.setTelcel(telCel);
contato.setEmail(eMail);
grvcontato.gravarContato(contato);
}
}
Parte do modelo ou persistencia:
package com.amazonaws.modelo;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
*
* @author Marcia
*/
public class ContatoHelper {
Session session = null;
Transaction tx = null;
public ContatoHelper() {
this.session = HibernateUtil.getSessionFactory().getCurrentSession();
}
public void gravarContato(Contato contato) {
try {
tx.begin();
session.save(contato);
session.flush();
tx.commit();
} catch (HibernateException ex) {
ex.printStackTrace();
} finally {
session.close();
}
}
}
Peço desculpa caso seja um erro besta, mas como eu disse ainda sou iniciante na area de desenvolvimento web.
Caso haja a necessidade de postar mais alguma classe não hesite em pedir, pois estou a disposição.
p.s: Esta gerando a exeção java.lang.ExceptionInInitializerError
Muito obrigado pela atenção de todos
