Hibernate (Part 2): configuração e uso
![](http://img.brin-designs.com/img/games/818/hibernate-configuration.png)
Configuração do Hibernate em um aplicativo Java
- Instale o JDK 1.4 ou o JDK 1.5.
- Baixe a versão 3 do hibernate.org
- Consulte os frascos do Hibernate no classpath.
- Defina o arquivo de configuração do Hibernate (hibernate.cfg.xml):
Este arquivo deve ser colocado no diretório que contém o código-fonte do aplicativo JAVA (recomendado).
Abaixo está um exemplo do arquivo hibernate.cfg.xml com os comentários necessários:
PUBLIC "- // Hibernate / Hibernate Configuração DTD // PT"
"[//hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
jdbc: oracle: thin: @dbServer: 1521: db
oracle.jdbc.OracleDriver
org.hibernate.dialect.Oracle9Dialect
dbusername
dbpassword
verdade
verdade
verdade
1
falso
50
verdade
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Defina os arquivos de mapeamento hbm:
Este é um conjunto de arquivos que faz o mapeamento entre o banco de dados da entidade e os objetos JAVA associados.
Caminhos completos de todos os arquivos de mapeamento de hbm são descritos no arquivo de configuração (hibernate.cfg.xml).
Usando o Hibernate em um aplicativo Java:
Neste exemplo, vamos usar o arquivo de configuração do Hibernate:
- Declaração da mesa (Oracle)
CREATE TABLE CLIENT
(
ID_Client NUMBER (10) NOT NULL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
REMISE NUMBER (19, 5),
CA NUMBER (19, 5),
CONSTRAINT PK_CLIENT PRIMARY KEY (CLIENT_ID)
);
- Declaração de classes JAVA
/ ** construtor par défaut * /
public Client () {
}
/ ** Construtor completo ** /
Cliente público (Long clientId, String titre, String nom, BigDecimal remise, BigDecimal ca)
{
this.idClient = idClient;
this.titre = titre;
this.name = nome;
this.remise = remise;
this.ca = ca;
}
/ ** Les getters et setters ** /
public Long getIdClient ()
{
return this.clientId;
}
public void setIdClient (Long clientId) {
this.clientId = clientId;
}
public String getTitre () {
devolve this.titre;
}
public void setTitre (String titre) {
this.titre = titre;
}
public String getNom () {
return this.nom;
}
public void setNom (String nom) {
this.nom = nom;
}
public BigDecimal getRemise () {
retornar this.remise;
}
public void setRemise (BigDecimal remise) {
this.remise = remise;
}
getCa público BigDecimal () {
return this.ca;
}
public void setCa (BigDecimal ca) {
this.ca = ca;
}
}
- Arquivos de mapeamento Client.hbm.xml:
"- // Hibernate / Hibernate Mapping DTD 3.0 // PT"
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name = "[Nom_Package] .Cliente" table = "CLIENTE" nome da entidade = "Cliente" > @ hibernate.class table = "CLIENTE" name = "idClient" type = "java.lang.Long" coluna = "ID_CLIENT" > Id du client @ hibernate.id classe-gerador = "atribuído" type = "java.lang.Long" column = "CLIENT_ID" name = "titre" type = "java.lang.String" coluna = "TITRE" length = "10" > Titulo do cliente @ hibernate.property coluna = "TITRE" length = "10" name = "name" type = "java.lang.String" coluna = "NAME" length = "30" > Nom du client @ hibernate.property coluna = "NAME" length = "30" name = "remise" type = "java.math.BigDecimal" coluna = "REMISE" length = "19" > Remise du client @ hibernate.property coluna = "REMISE" length = "19" name = "ca" type = "java.math.BigDecimal" coluna = "CA" length = "19" > Chiffre Affaire A chave primária é definida na tag: no nosso exemplo, ela é baseada em uma sequência. É possível definir uma chave composta usando a tag: ID-composto> O exemplo abaixo usa o método saveOrUpdate () da sessão do Hibernate. org.hibernate.Session sess = sessFact.openSession (); Cliente c = novo Cliente (); c.setName ("John"); p.setTitre ("Mr"); Transação tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();