Hibernate: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m cat
Ce3po (discussão | contribs)
Linha 1:
O '''Hibernate''' é um ''[[framework]]'' de acesso a [[banco de dados]] escrito em [[Linguagem_de_programação_Java| Java]]. Ele é um [[software livre]] de [[código aberto]] distribuído com a licença [[LGPL]].
 
O objetivo do Hibernate é facilitar a construção de aplicações Java dependentes de [[Banco de dados relacional |bases de dados relacionais]], particularmente , facilitar o desenvolvimento das consultas e atualizações dos dados. O uso de ferramentas de [[mapeamento objeto relacional]], como o Hibernate, diminuem a complexidade resultante da convivência de modelos diferentes; o modelo [[Orientação a objeto |orientado a objetos]] (da linguagem Java) e o relacional (da maioria dos [[Sistema de gerenciamento de banco de dados| SGBDs]]).
 
A forma como o Hibernate trabalha é feita através da interação das classes java (*.java) com arquivos de mapeamento Hibernate (*.hbm.xml), geralmente para cada classe java (ex.: Perfil.java) tem um arquivo de mapeamento Hibernate (ex.: Perfil.hbm.xml) relacionado. Interno a este contém informações de qual tabela e campos do banco de dados a serem vinculados à classe e suas propriedades. Ex.: Perfil.hbm.xml
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="agendaHibernate.Perfil"
dynamic-update="false"
dynamic-insert="false"
select-before-update="false"
lazy="false"
table="PERFIL">
<id name="id"
column="ID_PERFIL" type="int">
<generator class="sequence"/>
</id>
<property name="nome"
column="NM_PERFIL" type="java.lang.String" length="40"/>
<property name="nivel"
column="NIVEL" type="int" />
</class>
</hibernate-mapping>
 
A criação do arquivo '''hibernate.cfg.xml''', arquivo de configuração do Hibernate, é importante pois este serve para dizer como o Hibernate irá localizar o banco de dados, qual driver JDBC utilizar, identificar o usuário e senha para acesso ao banco, e bem como informar ao Hibernate quais os arquivos de relacionamentos (*.hbm.xml) farão parte do controle. Ex.: 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-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.firebirdsql.jdbc.FBDriver</property>
<property name="connection.url">
jdbc:firebirdsql:localhost/3050:c:/banco/agenda/agenda.gdb
</property>
<property name="connection.username">sysdba</property>
<property name="connection.password">masterkey</property>
<property name="dialect">org.hibernate.dialect.FirebirdDialect</property>
<property name="show_sql">true</property>
<mapping resource="agendaHibernate/Local.hbm.xml"/>
<mapping resource="agendaHibernate/Perfil.hbm.xml"/>
<mapping resource="agendaHibernate/Usuario.hbm.xml"/>
</session-factory>
</hibernate-configuration>
 
Os arquivos com extensão *.xml são produzidos utilizando a tecnologia [[XML]]. Tecnologias como [http://xdoclet.sourceforge.net/xdoclet/tags/hibernate-tags.html XDoclet] e [http://www.hibernate.org/247.html Anotações JAVA] são outras maneiras que ajudam a trabalhar com o Hibernate.
 
=={{links}}==