[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: [reverbel-sma] JPA e Hibernate e Banco de Dados
- Subject: Re: [reverbel-sma] JPA e Hibernate e Banco de Dados
- From: "Ivan Neto" <ivanneto@xxxxxxxxx>
- Date: Wed, 20 Sep 2006 16:17:02 -0300
Olá Helves.
On 9/20/06, Helves Domingues <hhdomingues@xxxxxxxxx> wrote:
Fiquei com as seguintes dúvidas após o primeiro trabalho:
- Qual é a relação do JPA com Hibernate no JBoss ? Acredito que vi alguns
logs no JBoss sobre Hibernate.
A JPA é uma API padrão utilizada para a persistência de entidades. O
Hibernate é um arcabouço de persistência que implementa essa API.
Desse modo, as aplicações interagem com uma API padrão, e a escolha do
arcabouço de persistência utilizado é configurável (pode ser o
Hibernate, por exemplo).
- Sendo JPA uma especificação de uma API, existem várias implementações? (
tais como: implementação
do JPA para MySql, Oracle, etc...)
Existem várias implementações de JPA, mas elas não estão
necessariamente associadas a banco de dados. Um arcabouço de
persistência (compatível com a JPA) interage com um banco de dados
através de um driver JDBC (através da interface javax.sql.DataSource).
Portanto, um mesmo arcabouço de persistência (Hibernate, por exemplo),
pode funcionar tanto com o MySQL, quanto com o Oracle ou o Sybase.
Outra implementação de JPA que eu já ouvi falar (mas nunca usei) é o
TopLink, da Oracle. Devem existir outras implementações, mas acho que
o Hibernate e o Toplink são as mais famosas.
- Como faço para utilizar, agora que está pronto o código, o MySQL. O que
devo configurar? As tabelas
são criadas automaticamente?
Você precisa configurar um DataSource para o MySQL. Veja o arquivo
$JBOSS_HOME/docs/examples/jca/mysql-ds.xml. Esse arquivo deve ser
alterado de acordo com a sua configuração e então copiado para o
diretório de deploy do JBoss. Um artigo legal que explica como
configurar um DataSource no JBoss:
http://www.onjava.com/pub/a/onjava/2004/02/25/jbossjdbc.html
Depois de configurar o seu DataSource para o MySQL, você precisa
alterar o seu persistence.xml para utilizar o "novo" DataSource:
<jta-data-source>java:/SeuNovoDataSource</jta-data-source>
O nome deve ser o mesmo que você definiu no elemento <jndi-name> do
arquivo "mysql-ds.xml". Para criar as tabelas automaticamente, eu tive
que adicionar a seguinte propriedade ao persistence.xml:
<properties>
<property name="hibernate.hbm2ddl.auto" value="update" />
...
</properties>
Se algo do que eu escrevi não estiver claro ou parecer estranho, por
favor volte a escrever :-).
[]' s
Obrigado,
Helves Domingues
--
Ivan Neto