Olá pessoal bom dia,
Estou tendo dificuldade em executar um exemplo de como usar o Hibernate. Estou a 2 dias querendo executar um exemplo no hibernete.
Meu banco e SQL Server 2005.
DB:
Tabela Cliente
id - String
nome - String
endereco - String
email -String
Classe Cliente
[code]
public class Cliente {
private String id;
private String nome;
private String endereco;
private String email;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
[/code]
Arquivo hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:jtds:sqlserver://192.168.0.106/testeHibernete1</property>
<property name="hibernate.connection.username">joseph</property>
<property name="hibernate.connection.password">senna2592</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<mapping resource="testehibernete1/Cliente.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Cliente.hbm.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/
hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="testehibernete1.Cliente" table="Clientes">
<property name="id" type="java.lang.String" />
<property name="nome" type="java.lang.String" />
<property name="endereco" type="java.lang.String" />
<property name="email" type="java.lang.String" />
</class>
</hibernate-mapping>
Erro apresentado ao executar o exemplo
init:
deps-jar:
Copying 1 file to C:\Documents and Settings\Administrador\Meus documentos\NetBeansProjects\testeHibernete1\build\classes
compile:
run:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.hibernate.InvalidMappingException: Could not parse mapping document from resource testehibernete1/Cliente.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:575)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1593)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1561)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
at testehibernete1.ClienteDAO.<init>(ClienteDAO.java:19)
at testehibernete1.Main.main(Main.java:26)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:514)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:572)
... 7 more
Caused by: org.dom4j.DocumentException: Illegal character in URL Nested exception: Illegal character in URL
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:505)
... 8 more
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Alguém sabe aonde está o meu erro?
Obrigado 
Pela mensagem
Caused by: org.dom4j.DocumentException: Illegal character in URL Nested exception: Illegal character in URL
Parece que o seu Cliente.hbm.xml esta com algum erro de digitacao. De uma olhada nisso. (refaca o arquivo, use um template que voce sabe que funciona etc etc)
Rafael
[code]# <?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping
PUBLIC “-//Hibernate/Hibernate Mapping DTD//EN”
hibernate-mapping-3.0.dtd">
[/code]
testehibernate1 é seu package onde está o hbm certo? Eu aconselho a usar o nome da tabela no singular.
Sugiro que vc naum faça o mapeamento via xml,
e sim utilizando annotations JPA(Java Persistent Annotations)
você jogaria fora o arquivo Cliente.hbm.xml e a sua classe ficaria da seguinte forma.
@Entity
@Table(name = "cliente")
public class Cliente {
private String id;
private String nome;
private String endereco;
private String email;
@Id
@Column(name = "id"
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Column(name = "nome")
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Column(name = "endereco")
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
@Column(name = "email")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
e o <mapping resource=“testehibernete1/Cliente.hbm.xml”/>
vc alteraria por
<mapping class=“pacote.Cliente” />
vc não teria mais o problema de parse de um xml e os erros seriam mais específicos
do que erro de parse do arquivo
Olá pessoal,
Primeiramente obrigado pela ajuda.
Fiz o último passo citado no último post pelo nosso colega. Aconteceu esse problema.
[code]init:
deps-jar:
Compiling 2 source files to C:\Documents and Settings\jose\Meus documentos\NetBeansProjects\exemploHibernete1\build\classes
compile:
run:
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread “main” java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:128)
at exemplohibernete1.ClienteDAO.<init>(ClienteDAO.java:25)
at exemplohibernete1.Main.main(Main.java:29)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
[/code]
Adicionei uma classe ClienteDAO ao projeto
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package exemplohibernete1;
/**
*
-
@author jose
/
import org.hibernate.;
import org.hibernate.cfg.Configuration;
public class ClienteDAO{
private SessionFactory factory;
public ClienteDAO() throws Exception{
factory = new Configuration().configure().buildSessionFactory();
}
public void insert(Cliente oCliente) throws Exception{
Session session = factory.openSession();
session.save(oCliente);
session.flush();
session.close();
}
}
[/code]
Classe Main
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package exemplohibernete1;
/**
*
}
[/code]
Alguém pode me orientar neste erro que esta acontecendo?
Grato pela ajuda 
Bom o erro que deu eh que está naum está encontrando uma classe no seu classpath
Exception in thread “main” java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
Verifique se vc tem algum jar no seu projeto que comece com sfl4j-log12
se não tiver você precisa add ao seu classpath. Se existir sua versão deve ser antiga e possivelmente
não contém esta classe "StaticLoggerBinder ".
Olá beleza,
Não achei esse jar. Baixei a ultima versão no site do hibernate.
Baixei:
Hibernate Core
Hibernate Entity Manager
Hibernate Annotattions
Adicionei todos os jars nesse projeto. Fiz algo de errado?
Grato
Baixa esse jar e põe no seu classpath
Parece que o hibernate o utiliza as classes desse pacote para gravar
logs e exibir sqls gerados
http://www.slf4j.org/download.html
Acho que o seu hibernate não está achando o log4j para stdout… tipo o arquivo property do log4j
Olá,
Valeu pela ajuda. Esse pequeno exemplo está me dando muita dor de cabeça. Gostaria de fazer um exemplo para desktop usando Hibernate e JPA.
Agora deu esse erro:
init:
deps-jar:
Copying 1 file to C:\Documents and Settings\jose\Meus documentos\NetBeansProjects\exemploHibernete1\build\classes
compile:
run:
Exception in thread "main" java.lang.StackOverflowError
at java.lang.reflect.Method.<init>(Method.java:111)
at java.lang.reflect.Method.copy(Method.java:138)
at java.lang.reflect.ReflectAccess.copyMethod(ReflectAccess.java:118)
at sun.reflect.ReflectionFactory.copyMethod(ReflectionFactory.java:282)
at java.lang.Class.searchMethods(Class.java:2628)
at java.lang.Class.getMethod0(Class.java:2642)
at java.lang.Class.getMethod(Class.java:1579)
at org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:482)
at org.apache.commons.logging.LogFactory$1.run(LogFactory.java:266)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:262)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:88)
.......
De sua opnião, tem algum exemplo que possa me passar ou ahca melhor contiur nesse código até achar o seu problema?
Valeu
Fala galera,
Fiquei trabalhando esses dias e não parei para estudar.
Alguém tem um exemplo / tutorial de como usar o Hibernate com JPA ?
Grande abraço 