Aqui está o meu hibernate.cfg.xml
[code]
<?xml version=‘1.0’ encoding=‘utf-8’?>
<!DOCTYPE hibernate-configuration PUBLIC “-//Hibernate/Hibernate Configuration DTD//EN” “http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd”>
<hibernate-configuration>
<session-factory>
<property name=“hibernate.connection.driver_class”>org.firebirdsql.jdbc.FBDriver</property>
<property name=“hibernate.connection.url”>jdbc:firebirdsql:localhost/3050:G:/Projetos/Agenda/banco/agenda.gdb</property>
<property name=“hibernate.connection.username”>SYSDBA</property>
<property name=“hibernate.connection.password”>masterkey</property>
<property name=“show_sql”>true</property>
<property name=“dialect”>org.hibernate.dialect.FirebirdDialect</property>
<mapping resource="mapContato.xml"/>
</session-factory>
</hibernate-configuration>
Arquivo mapContato.xml:
<?xml version=“1.0” encoding=“UTF-8” ?>
<!DOCTYPE hibernate-mapping PUBLIC “-//Hibernate/Hibernate Mapping DTD 2.0//EN” “http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd”>
<hibernate-mapping>
<class name=“magno.agenda.tabelas.Contato” table=“Contato”>
<id name=“id”>
<generator class=“increment” />
</id>
<property name=“nome”/>
<property name=“dataNasc”/>
<property name=“telRes”/>
<property name=“telCom”/>
<property name=“telCel”/>
</class>
</hibernate-mapping>
Arquivo Contato.java:
package magno.agenda.tabelas;
import java.util.Date;
public class Contato {
private long id;
private Date dataNasc;
private String nome, telRes, telCom, telCel;
public Contato() {}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Date getDataNasc() {
return dataNasc;
}
public void setDataNasc(Date dataNasc) {
this.dataNasc = dataNasc;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelRes() {
return telRes;
}
public void setTelRes(String telRes) {
this.telRes = telRes;
}
public String getTelCom() {
return telCom;
}
public void setTelCom(String telCom) {
this.telCom = telCom;
}
public String getTelCel() {
return telCel;
}
public void setTelCel(String telCel) {
this.telCel = telCel;
}
}
Arquivo Inicio.java(Aonde ocorre o inicio da aplicação… por enquanto eu só tentei inserir um codigo no main() mesmo, para tentar usar o hibernate):
Aqui está o meu hibernate.cfg.xml
[code]
<?xml version=‘1.0’ encoding=‘utf-8’?>
<!DOCTYPE hibernate-configuration PUBLIC “-//Hibernate/Hibernate Configuration DTD//EN” “http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd”>
<hibernate-configuration>
<session-factory>
<property name=“hibernate.connection.driver_class”>org.firebirdsql.jdbc.FBDriver</property>
<property name=“hibernate.connection.url”>jdbc:firebirdsql:localhost/3050:G:/Projetos/Agenda/banco/agenda.gdb</property>
<property name=“hibernate.connection.username”>SYSDBA</property>
<property name=“hibernate.connection.password”>masterkey</property>
<property name=“show_sql”>true</property>
<property name=“dialect”>org.hibernate.dialect.FirebirdDialect</property>
<mapping resource="mapContato.xml"/>
</session-factory>
</hibernate-configuration>
Arquivo mapContato.xml:
<?xml version=“1.0” encoding=“UTF-8” ?>
<!DOCTYPE hibernate-mapping PUBLIC “-//Hibernate/Hibernate Mapping DTD 2.0//EN” “http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd”>
<hibernate-mapping>
<class name=“magno.agenda.tabelas.Contato” table=“Contato”>
<id name=“id”>
<generator class=“increment” />
</id>
<property name=“nome”/>
<property name=“dataNasc”/>
<property name=“telRes”/>
<property name=“telCom”/>
<property name=“telCel”/>
</class>
</hibernate-mapping>
Arquivo Contato.java:
package magno.agenda.tabelas;
import java.util.Date;
public class Contato {
private long id;
private Date dataNasc;
private String nome, telRes, telCom, telCel;
public Contato() {}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Date getDataNasc() {
return dataNasc;
}
public void setDataNasc(Date dataNasc) {
this.dataNasc = dataNasc;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelRes() {
return telRes;
}
public void setTelRes(String telRes) {
this.telRes = telRes;
}
public String getTelCom() {
return telCom;
}
public void setTelCom(String telCom) {
this.telCom = telCom;
}
public String getTelCel() {
return telCel;
}
public void setTelCel(String telCel) {
this.telCel = telCel;
}
}
Arquivo Inicio.java(Aonde ocorre o inicio da aplicação… por enquanto eu só tentei inserir um codigo no main() mesmo, para tentar usar o hibernate):
package magno.agenda;
import java.sql.*;
import org.hibernate.cfg.;
import org.hibernate.;
public class Inicio {
public static void main(String[] args) throws Exception {
SessionFactory sf = null;
try {
Configuration cfg = new Configuration().configure();
sf = cfg.buildSessionFactory();
}
catch(HibernateException he) {
he.printStackTrace();
}
Session s = sf.openSession();
magno.agenda.tabelas.Contato c = new magno.agenda.tabelas.Contato();
c.setId(3);
c.setNome(“Magno Machado Paulo”);
s.saveOrUpdate©;
s.connection().commit();
s.close();
}
}
[/code]
Se eu bem entendi o esquema do hibernate, então agora era pra ter um registro na minha tabela Contatos contendo o id 3 e nome “Magno Machado Paulo”, estou certo? Bom… o lance é que nenhum registro apareceu na minha tabela.
Quando rodo esse código, a unica saída que eu obtenho na tela é:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Ah, sim, e aqui está o script da minha tabela(Utilizo firebird 1.5)
[code]
/* Tabela: CONTATOS */
CREATE TABLE CONTATOS (
NOME VARCHAR (30) CHARACTER SET WIN1251 NOT NULL COLLATE WIN1251,
“dataNasc” DATE,
“telRes” CHAR (10) CHARACTER SET WIN1251 COLLATE WIN1251,
“telCom” CHAR (10) CHARACTER SET WIN1251 COLLATE WIN1251,
“telCel” CHAR (10) CHARACTER SET WIN1251 COLLATE WIN1251,
ID BIGINT NOT NULL);
/* Primary keys definition */
ALTER TABLE CONTATOS ADD CONSTRAINT PK_CONTATOS PRIMARY KEY (ID);
/* Indices definition */
CREATE UNIQUE INDEX PK_CONTATOS ON CONTATOS (ID);
[/code]
Acho que não é um problema especifico do banco de dados ou do driver utilziado, visto que eu consegui inserir dados na tabela criando uma conexão diretamente via jdbc…
(Desculpem, sei que a msg ficou mto grande, mas acho que não daria para alguem me ajudar sem eu ter postado todo esse codigo…)