Olá pessoal, estou executando um pequeno teste usando Hibernate, ainda sou iniciante.
Classe Usuario:
public class Usuario {
private String usCod;
private String usSenha;
private String usNome;
private String usEmail;
public Usuario(){
}
public Usuario(String usCod, String usSenha, String usNome, String usEmail) {
this.setUsCod(usCod);
this.setUsSenha(usSenha);
this.setUsNome(usNome);
this.setUsEmail(usEmail);
}
private void setUsCod(String usCod) {
this.usCod = usCod;
}
private void setUsSenha(String usSenha) {
this.usSenha = usSenha;
}
private void setUsNome(String usNome) {
this.usNome = usNome;
}
private void setUsEmail(String usEmail) {
this.usEmail = usEmail;
}
}
Classe UsuarioDAO:
import java.util.List;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.hibernate.criterion.Expression;
public class UsuarioDAO{
private SessionFactory factory;
public UsuarioDAO() throws Exception{
factory = new Configuration().addClass(Usuario.class).buildSessionFactory();
}
public void UsInserir(Usuario us) throws Exception {
Session session = factory.openSession();
session.save(us);
session.flush();
session.close();
}
public void UsAlterar(Usuario us) throws Exception {
Session session = factory.openSession();
session.update(us);
session.flush();
session.close();
}
public void UsExcluir(Usuario us) throws Exception {
Session session = factory.openSession();
session.delete(us);
session.flush();
session.close();
}
}
Classe Teste(Main)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Joao
*/
public class Teste {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
try
{
String log = "login";
String senha = "abc";
String nome = "Rafael";
String email = "[email removido]";
UsuarioDAO dao = new UsuarioDAO();
Usuario usuario = new Usuario(log,senha,nome,email);
dao.UsInserir(usuario);
System.out.println("Registro inserido com sucesso!!!");
}
catch(Exception e)
{
System.out.println("Não foi possivel, Erro: " + e.getMessage());
}
}
}
Mapeamento:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"">
<hibernate-mapping>
<class name="Usuario" table="Usuario">
<id name="UsCod" column="USCOD" type="string">
< generator class="assigned"/>
</id>
<property name="UsSenha" column="USSENHA" type="string"/>
<property name="UsNome" column="USNOME" type="string"/>
<property name="UsEmail" column="USEMAIL" type="string"/>
</class>
</hibernate-mapping>
Erro
01:08:50,453 INFO Environment:560 - Hibernate 3.3.2.GA
01:08:50,453 INFO Environment:578 - loaded properties from resource hibernate.properties: {hibernate.bytecode.use_reflection_optimizer=false}
01:08:50,468 INFO Environment:771 - Bytecode provider name : javassist
01:08:50,468 INFO Environment:652 - using JDK 1.4 java.sql.Timestamp handling
01:08:50,546 INFO Configuration:632 - Reading mappings from resource: Usuario.hbm.xml
01:08:50,546 INFO Configuration:577 - Reading mappings from resource: Usuario.hbm.xml
01:12:36,921 ERROR XMLHelper:81 - Error parsing XML: XML InputStream(3) The document type declaration for root element type "hibernate-mapping" must end with '>'.
Não foi possivel, Erro: Could not parse mapping document from resource Usuario.hbm.xml
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
Acredito que o problema esteja mesmo em mapear a classe, achei que fosse o problema com o arquivo “hibernate-mapping-3.0.dtd” então substitui por “http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd”" mas o erro se manteve. Vi algumas informações em outros topicos sobre erros parecidos mas nada que mudei concertou. Alguem pode ajudar?