Java, Hibernate: Configurando (XML)

Antes de mais nada, gostaria de ressaltar que este eh o primeiro post relacionado ao Hibernate.

Assim como alguns, estou “experimentando” sua utilizacao, uma escolha profissional e nao pessoal.

De forma resumida:
Hibernate, eh framework para acesso a banco de dados relacionais.
Mais informacoes em www.hibernate.org

Ao que interessa,

Estarei utilizando o MySQL como referencia e o eclipse como IDE de desenvolvimento.

O hibernate utiliza arquivos XML para configuracao por default, sendo assim iremos criar um arquivo XML chamado hibernate.cfg.xml que devera estar contido dentro da pasta de sources do seu projeto.

Passo 1 – Definindo a tag XML e o DOCTYPE (tipo de documento)

<?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">

Passo 2 – Configuracao do Hibernate

<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/SuaTabela</property>
<property name="hibernate.connection.username">usuario</property>
<property name="hibernate.connection.password">senha</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<mapping resource="SuaClasse.hbm.xml"/>
</session-factory>
</hibernate-configuration>

Descrevendo o arquivo acima:

  1. connection.driver_class: Define o driver do banco de dados que sera utilizado.
  2. connection.url: URL do banco de dados junto a base de dados que sera utilizada.
  3. connection.username e connection.password: Usuario e senha do banco de dados.
  4. dialect: Implementacao do dialeto SQL do banco de dados especificado.
  5. show_sql: Configuracao do log SQL pelo Hibernate, otimo para sistemas em producao.

Passo 3 – Mapping, Resource

O mapping merece um passo soh pra ele, pois neste passo sera configurado o mapeamento da SuaClasse em especifico, normalmente alguns programadores inserem direto no codigo de configuracao do hibernate, mais sinceramente eu prefiro cada “macaco no seu galho”.

O arquivo SuaClasse.hbm.xml tambem devera estar na mesma pasta (sources) do hibernate.cfg.xml justamente por eu nao ter passado nenhum endereco na propriedade resource.

<hibernate-mapping>
<class name="SuaClasse" table="SuaTabela">
<id name="id" column="id" type="int">
<generator class="assigned"/>
</id>
<property name="nome" column="nome" type="string"/>
</class>
</hibernate-mapping>

Bom, como a classe eh minha, entao ela possui apenas os campos id e nome, int e String, respectivamente e logicamente o id sera nossa chave primaria como foi determinado na tag id do XML. O mapeamento como pode-se ver eh muito dedutivo, basta configurar de acordo com sua classe de persistencia/banco de dados/projeto, no meu caso eu me espelhei no meu banco de dados que possui apenas dois campos, a chave primaria id e o campo do tipo Varchar nome.

Falando em classe de persistencia, vou colocar aqui a que eu utilizei, SuaClasse.class.


@Entity
public class SuaClasse {


@Id
@GeneratedValue
private int id;
private String nome;


public SuaClasse() {
}
public SuaClasse(String nome){
this.nome = nome;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}

}

Existe algumas annotations em meu codigo, mais eh um assunto bem interessante, entao por alto sao meta-informacoes que “marcam” ou “criam notas” em pedacos de codigo com intuito de ser utilizado mais pra frente de diversas formas.

… finalizando, certamente isso eh apenas a configuracao, pois foi a parte que eu precisei de mais detalhes para compreender o funcionamento do hibernate, ainda poderiam ser abordados temas como: Criacao de tabelas no banco de dados a partir da classe de persistencia, ou ate mesmo aprofundar mais no uso dos annotations e assim vai, mais isso fica para uma outra hora.

Obs: Continuo sem acentos, malditos acentos.


5 Comentários on “Java, Hibernate: Configurando (XML)”

  1. Elson disse:

    Bom dia. Gostei muito desse artigo, prque é objetivo e claro…..e o melhor rápido o entendimento….
    Tenho uma sugestão de matéria: Dicas de como trabalhar com o Struts 2.

    Att
    Elson

  2. Ótima sugestão, será certamente meu próximo post.

  3. Carlos disse:

    Qual é a Semelhança entre:
    1. Java (J2SE) juntamente com o Hibernate e o Struts
    2. LAMP que combina a utilização de linux+Apache+MySQL+PHP

  4. Élysson MR disse:

    Legal curti,
    De dica eu Deixo o JBoss que já instala ferramentas que geram estes XMLs mais facilmente =)

    Obrigado

  5. Hermes disse:

    so pra reinterar amigo no xml

    jdbc:mysql://127.0.0.1:3306/SuaTabela
    ao inves de sua tabela sera sua base de dados, no mais to exelente o post

    valeu ai


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s