Jboss as 7 com hibernate 3.3

Olá amigos do fórum, estou migrando e também tentando desenvolver uma aplicação com hibernate 3.3 usando o servidor de aplicação jboss as 7.

Porém eu estou precisando usar o hibernate 3… eu achei vários tópicos sobre como criar um módulo e usar ele assim:

JBOSSAS7_HOME/modules/org/hibernate/3/ com as libs e o arquivo module.xml com as configs
e depois adiciona:

em fim, eu fiz isso, só que no meu projeto ainda falta a lib, pra min usar no import… pq o projeto usa as libs do jboss e lá não apareceu as libs do hibernate 3 que preciso…

Alguém teria uma solução pra isso?

Obrigado

Tenta alterar o seguinte

<property name="jboss.as.jpa.providerModule" value="org.hibernate:3"></property> 

Por isso:

<property name="jboss.as.jpa.providerModule" value="org.hibernate.3"></property> 

Tenta aí e veja se dá certo.

Eu gostei do Jboss AS 7, só não gostei dessa idéia de módulos, eu preferia o jeitão antigo, de jogar os jars na pasta lib e já era. Mas acho que o pessoal prezou a organização no projeto.

Enfim, tenta isso aí e vê se dá certo.

Flw!

Olá oddy.silva,

então meu primeiro problema é que meu projeto não acha o jar do hibernate para os imports :frowning:

Entendi.

Bom, pelo que li na documentação, você pode utilizar os jars do Hibernate diretamente no seu projeto, nem precisa configurar ele como um módulo do Jboss 7. Jeitão padrão mesmo, vai no projeto lá no Eclipse, Build Path e adiciona o Hibernate ao Projeto, ou adiciona a Runtime do JBOSS 7 como Biblioteca do projeto. Eu tenho usado esta segunda opção, vantajoso porque não configuRo módulos. Você pode baixar e instalar o JBOSS Tools novo :slight_smile:

Os módulos são úteis quando você precisar dessa dependência no servidor, como um driver de Banco de Dados. Na hora de configurar o Data Source você vai precisar especificar este módulo.
O que eu pude observar é que o Admin Console faz muito desse trabalho sujo pra gente. Tente utilizá-lo pra fazer essas tarefas.

Enfim, essas são as dicas que posso te passar. Espero que consiga resolver o B.O aí.

Flw!

Se nao me engano, o JBoss 7 ja vem com os jar do hibernate, o que voce tem que fazer é adicionar no seu projeto na pasta WebContent -> WEB-INF -> lib os jar do hibernate.

alguém teria um tutorial básico criando um projeto do zero com hibernate 3 e jboss as 7?

é que estou tentando de tudo e não ta dando certo…

tentei colocar os jars na lib do web-inf, tentei adicionando eles no projeto, tentei adicionando no classpath do projeto, no jboss… e nada da certo

o ultimo erro foi esse:

java.lang.ClassNotFoundException: org.jboss.util.file.ArchiveBrowser$Filter from [Module "deployment.ExtranetNova.war:main" from Service Module Loader]
	org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
	org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
	org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
	org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:119)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
	br.com.grupomorenarosa.extranet.banco.comandos.ComandoUtil.getEntityManager(ComandoUtil.java:23)

a tah, ai tem uma hora q eu coloco as libs no web-inf ai da o seguinte erro:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named Extranet2_PU
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)
br.com.grupomorenarosa.extranet.banco.comandos.ComandoUtil.getEntityManager(ComandoUtil.java:23)
br.com.grupomorenarosa.extranet.banco.comandos.ComandoUtil.getSession(ComandoUtil.java:35)
br.com.grupomorenarosa.extranet.banco.comandos.ComandoPegarPorId.execute(ComandoPegarPorId.java:27)
br.com.grupomorenarosa.extranet.banco.DefaultBean.obterPorId(DefaultBean.java:66)
br.com.grupomorenarosa.extranet.negocio.acesso.LogMB.(LogMB.java:15)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

mais meu persistence.xml ta no meta-inf e meu persistence-unit ta correto:

emf = Persistence.createEntityManagerFactory(“Extranet2_PU”, props);

:arrow: Entre na pasta do Hibernate na estrutura de módulos -> %JBOSS_HOME%\modules\org\hibernate

:arrow: Crie a pasta com o nome 3 e entre nela -> %JBOSS_HOME%\modules\org\hibernate\3

:arrow: Coloque todos os jars necessários aí dentro, dependendo da versão podem ser vários

:arrow: Crie no mesmo diretório o arquivo module.xml. O meu está assim (Lembre-se que o seu pode ser diferente)[code]<?xml version="1.0" encoding="UTF-8"?>



<dependencies>
    <module name="org.jboss.as.jpa.hibernate" slot="3"/>
    <module name="asm.asm"/>
    <module name="javax.api"/>
    <module name="javax.persistence.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.validation.api"/>
	<module name="org.antlr"/>
    <module name="org.apache.ant"/>
    <module name="org.apache.commons.collections"/>
	<module name="org.infinispan"/>
    <module name="org.javassist"/>
    <module name="org.slf4j"/>
	<module name="org.dom4j"/>
</dependencies>

[/code] :arrow: No seu arquivo persistence.xml você tem que associar o providerModule ao diretório 3<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns=" version="1.0"> <persistence-unit name="pu"> <description>Persistence Unit</description> <jta-data-source>java:jboss/datasources/PU</jta-data-source> <properties> <property name="jboss.as.jpa.providerModule" value="org.hibernate:3" /> </properties> </persistence-unit> </persistence>Eu segui esses passos e tudo funcionou

Rodrigo Sasaki eu segui esse passo ai várias vezes… só que meu projeto fica sem as libs, ai não consigo fazer os imports

No Eclipse você pode associar a biblioteca do JBoss ao projeto, aí tem acesso a essas coisas, em outras IDEs não sei como fazer algo equivalente

usei aqui AS7 com hibernate 3/4

1° evite fazer isso, evite usar AS7 com hibernate 3, se vc está atualizando, atualize as libs também é o mais correto, o mais coerente a se fazer.

2° o AS7(ao menos versão 7.1) já vem com hibernate 3 dentro dele, vc só precisa informar para o jboss utilizar a versão 3 e não 4.
verifique em jboss-as-7.1.1.Final\modules\org\jboss\as\jpa\hibernate\3 aí dentro estará o hibernate 3 com o arquivo module.xml informando todas as dependencias necessárias
tudo que vc precisa fazer é informar esse módulo no seu persistence.xml

 <property name="jboss.as.jpa.providerModule" value="hibernate3-bundled" />
          <property name="jboss.as.jpa.managed" value="false" />

isso servirá para execução do projeto em deployed. para visão das libs em termos de compilação vc terá de manualmente informar os jars e setar no class path. caso vc use Maven(recomendável) basta informar os jars com escopo Provided

gambazinho e todo mundo que posto aqui pra me ajudar muito obrigado…

eu consegui resolver meu problema com muita alteração então não sei BEM ao certo oq eu fiz pq eu fiquei esses dias todos tentando e alterando o projeto… mais o principal foi colocar as libs do hibernate 4 ^^

e meu arquivo properties também acredito que estava com alguma coisa errado, no final das contas ficou assim:

<properties> <property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/> <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/> <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> </properties>