Estou usando o JSF 2.0 com HIbernate e estou com o seguinte erro ao tentar gravar informações no banco de dados. A tabela do hibernate esta null.
A quem me ajudar muito obrigada pela ajuda.
An AnnotationConfiguration instance is required to use <mapping class=“br.com.fatezl.modelo.Evento”>
[color=darkred]Meu JSF[/color]
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
template="./resources/Templates/Template.xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<ui:define name="aviso">
<h:outputText value="Cadastrar Evento" styleClass="tituloAviso"/>
</ui:define>
<ui:define name="conteudo">
<h:form>
<h:panelGrid columns="2">
<h:outputText value="Nome do Evento : "/>
<h:inputText value="#{eventoBean.evento.nomeevento}" size="101"/>
<h:outputText value="Dia do Evento : "/>
<h:inputText value="#{eventoBean.evento.dataevento}"/>
<h:outputText value="Horario do Evento : "/>
<h:inputText value="#{eventoBean.evento.horarioevento}"/>
<h:outputText value="Carga Horaria do Evento : "/>
<h:inputText value="#{eventoBean.evento.cargaHorariaevento}"/>
<h:outputText value="Sobre o Evento : "/>
<h:inputTextarea cols="75" rows="2" value="#{eventoBean.evento.sobreevento}"/>
<h:commandButton value="Cadastrar" actionListener="#{eventoBean.salvarEvento()}"/>
</h:panelGrid>
<h:dataTable var="obj" value="#{eventoBean.eventos}" border="1" width="100%">
<h:column>
<f:facet name="header"><h:outputText value="Evento"/></f:facet>
<h:outputText value="#{obj.nomeevento}"/>
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Data"/></f:facet>
<h:outputText value="#{obj.dataevento}"/>
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Horario"/></f:facet>
<h:outputText value="#{obj.horarioevento}"/>
</h:column>
</h:dataTable>
</h:form>
</ui:define>
</ui:composition>
[color=darkred]Meu Bean [/color]
public class EventoBean implements Serializable {
Evento evento = new Evento();
List<Evento> eventos = new ArrayList<Evento>();
// this.setEventos(new ArrayList<Evento>());u
public EventoBean() {
this.setEvento(new Evento());
}
public Evento getEvento() {
return evento;
}
public void setEvento(Evento evento) {
this.evento = evento;
}
public List<Evento> getEventos() {
return eventos;
}
public void setEventos(List<Evento> eventos) {
this.eventos = eventos;
}
public void cadastrarEvento2() {
this.getEvento();
}
public void cadastrarEvento(ActionEvent event) {
this.getEventos().add(this.getEvento());
this.setEvento(new Evento());
}
public void salvarEvento() {
this.getEventos().add(this.getEvento());
this.setEvento(new Evento());
try {
Configuration cfg = new Configuration();
cfg.configure("br/com/fateczl/mapping/hibernate.cfg.xml");
SessionFactory fabrica = cfg.buildSessionFactory();
Session sessao = fabrica.openSession();
evento.setNomeevento(evento.getNomeevento());
evento.setDataevento(evento.getDataevento());
evento.setHorarioevento(evento.getHorarioevento());
evento.setSobreevento(evento.getSobreevento());
evento.setCargaHorariaevento(evento.getCargaHorariaevento());
System.out.println(evento.getNomeevento());
Transaction txEventos = sessao.beginTransaction();
sessao.save(evento);
txEventos.commit();
sessao.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Problemas para gravar dados do Evento com Anotaçoes : " + ex);
}
}
}
[color=red]Meu Pojo[/color]
@Entity
@Table(name="eventto", schema="anotacoes")
public class Evento implements Serializable {
@Id
@GeneratedValue (strategy=GenerationType.IDENTITY)
private int codevento;
@Column
private String nomeevento;
@Column
private String sobreevento;
@Column
private String dataevento;
@Column
private String horarioevento;
@Column
private String cargaHorariaevento;
public String getCargaHorariaevento() {
return cargaHorariaevento;
}
public void setCargaHorariaevento(String cargaHorariaevento) {
this.cargaHorariaevento = cargaHorariaevento;
}
public int getCodevento() {
return codevento;
}
public void setCodevento(int codevento) {
this.codevento = codevento;
}
public String getDataevento() {
return dataevento;
}
public void setDataevento(String dataevento) {
this.dataevento = dataevento;
}
public String getHorarioevento() {
return horarioevento;
}
public void setHorarioevento(String horarioevento) {
this.horarioevento = horarioevento;
}
public String getNomeevento() {
return nomeevento;
}
public void setNomeevento(String nomeevento) {
this.nomeevento = nomeevento;
}
public String getSobreevento() {
return sobreevento;
}
public void setSobreevento(String sobreevento) {
this.sobreevento = sobreevento;
}
}
[color=darkred]Meu arquivo Hibernate.cfg.xml[/color]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/fatecev</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="show_sql">true</property>
<mapping class ="br.com.fateczl.modelo.Evento"/>
</session-factory>
</hibernate-configuration>