Instalacao / uso hibernate, estou tendo problemas

3 respostas
donatinho

Boa tarde galera!!!

Beleza?

Tipo, nao estou conseguindo fazer um aplicativo simples ser rodado com struts.

Alguem poderia me ajudar?

Obrigado

donatinho

3 Respostas

zelopes

rapaz…seria interessante vc especificar seu problema…só assim alguem pode ajuda-lo…

andre_guitar7

Usa o Mentawai… beeem mais fácil.

C

Olá Donatinho,

Existem diversos problemas que podem acontecer usando o Hibernate com Struts. Vou tentar direcionar
limitando o seu ambiente de trabalho, para um que eu utilizo, JavaServer Faces, mas que a princípio
é similar ao STRUTS neste aspecto de conexão a banco.

1 - JAVA SDK 1.5.0_06

2 - TOMCAT 5.5.16 como container WEB;

3 - o banco de dados que uso é o Firebird (Firebird-1.5.3.4870-0-Win32.exe)

em servidor Windows, pois se for linux o arquivo de Context.xml é um

pouco diferente, mas funciona também. <img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/w.pngink.png?v=9" title=":wink:" class="emoji" alt=":wink:">

4 - Drive JDBC para Firebird é o jaybird-full-2.0.0.jar, este arquivo

deve está no diretório TOMCAT_HOME\common\lib

5 - Arquivo de Context.xml, serve para identificar para o TOMCAT, qual driver utilizar, bem

como fazer a conexão ao banco de dados, via DataSource. Este DataSource é a forma como o Hibernate

vai procurar como se conectar no banco. Vale ressaltar que este arquivo terá o nome do path da

aplicação WEB seguido de .xml, mas isto é feito de maneira automática caso você se utilize de

um arquivo *.war para fazer DEPLOY no TOMCAT. O arquivo de context deve ficar no diretório

TOMCAT_HOME\conf\Catalina\localhost depois de feito um DEPLOY.

Para melhor estudo de configuração do arquivo de Context.xml veja o

site <a href="http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html">http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html</a>

6 - O arquivo de configuração do Hibernate (hibernate.cfg.xml) deve

está no diretório Sua_Aplicação\WEB-INF\classes. Este arquivo

é o local onde está configurado o DataSource acima mencionado.

7 - Recomendo a utilização de um programa que facilite o seu trabalho

com JAVA, eu utilizo o NetBeans 5.0

Arquivo jsfAgenda.xml (context.xml):

<?xml version=“1.0” encoding=“UTF-8”?>
<Context path="/jsfAgenda">
<Resource driverClassName=“org.firebirdsql.jdbc.FBDriver”
maxActive=“3”
maxIdle=“1”
maxWait=“5000”
minIdle=“0”
name=“hibernate/agenda”
password=“masterkey”
type=“javax.sql.DataSource”
url=“jdbc:firebirdsql:localhost/3050:c:/banco/agenda/agenda.gdb”
username=“sysdba”/>
</Context>

Veja a interligação destes arquivos pelo atributo name="hibernate/agenda"
no arquivo jsfAgenda.xml e a tag property name="connection.datasource">
java:comp/env/hibernate/agenda do arquivo abaixo. Tudo o que vier depois do
comp/env é a string de vínculo.


Arquivo hibernate.cfg.xml:

<?xml version=‘1.0’ encoding=‘utf-8’?>
<!DOCTYPE hibernate-configuration
SYSTEM “/temp/dtd/hibernate-configuration-2.0.dtd”>
<comentario>
<!DOCTYPE hibernate-configuration
PUBLIC “-//Hibernate/Hibernate Configuration DTD//EN”
http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd”>
</comentario>
<hibernate-configuration>
<session-factory>
<property name=“connection.datasource”>java:comp/env/hibernate/agenda</property>
<property name=“show_sql”>false</property>
<property name=“dialect”>org.hibernate.dialect.FirebirdDialect</property>

&lt;comentario Mapping files --&gt;        
&lt;mapping resource="agendaHibernate/Local.hbm.xml"/&gt;
&lt;mapping resource="agendaHibernate/Perfil.hbm.xml"/&gt;
&lt;mapping resource="agendaHibernate/Usuario.hbm.xml"/&gt;
&lt;/session-factory&gt;

</hibernate-configuration>

Um ponto interessante neste arquivo é que na tag <!DOCTYPE … SYSTEM a localização do arquivo
de DTD está dentro da própria máquina (c:\temp\dtd\hibernate-configuration-2.0.dtd) pois no
comentário original logo abaixo estava direcionada para um arquivo que está disponível via
Internet, eu fiz isto para não buscar via Internet. É só baixar arquivo conforme o próprio link acima e salvar no local indicado.

Estou tomando como base que os arquivos de hbm.xml e as classes JAVA estão corretos.
Existem também um tópico na Wikipedia que estou adiantando sobre Hibernate dê uma olhada por
favor. http://pt.wikipedia.org/wiki/Hibernate
Note que lá estou usando conexão direta em vez do DataSource (hibernate.cfg.xml), como aqui
apresentado. A principal diferença entre conexão direta e DataSource é que os dados de conexão ficam
no arquivo de contexto jsfAgenda.xml (context.xml)

Eu sei que é muita informação, mas espero que tenha ajudado. :wink:

Até mais.
Fabrício Luis
http://www.ce3po.com
>

Criado 3 de maio de 2006
Ultima resposta 4 de mai. de 2006
Respostas 3
Participantes 4