[Resolvido] Configuracao persistence.xml

Duvida noob, pessoal, ja procurei no forum e testei de varias formas que encontrei, mas ainda nao estou conseguindo…

Está dando o clássico erro de:

meu persistence.xml está assim:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
   <persistence-unit name="treinamentoPU" transaction-type="RESOURCE_LOCAL">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <properties>
         <property name="hibernate.hbm2ddl.auto" value="update"/>
         <property name="connection.username" value="treinamento"/>
         <property name="connection.password" value="treinamento"/>
         <property name="connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
         <property name="dialect" value="org.hibernate.dialect.OracleDialect"/>
         <property name="current_session_context_class" value="thread"/>
         <property name="hibernate.connection.url" value="jdbc:oracle:thin:@192.168.56.101:1521:bcoimp"/>
         <property name="hibernate.show_sql" value="true"/>
      </properties>
   </persistence-unit>
</persistence>

Nessa estrutura de diretorio:

pra fazer o teste criei uma class main simples assim:

public static void main(String[] args) {
		EntityManagerFactory factory = Persistence  
                .createEntityManagerFactory("treinamentoPU");  
        factory.close();
	}

Alguem sabe dizer pq nao acha o persistence.xml?

1 curtida

Mova a pasta META-INF para dentro do diretório JavaResources.

Tb nao deu assim =(, mesmo erro

[quote=igor_ks]Tb nao deu assim =(, mesmo erro[/quote]Coloca um print aí.

[quote=Hebert Coelho][quote=igor_ks]Tb nao deu assim =(, mesmo erro[/quote]Coloca um print aí.[/quote]Coloca um print aí de como ficou depois que você moveu o arquivo.

Coloque no mesmo pacote das classes java.

Tem que ficar quase assim:
Note que a pasta META-INF está na raiz dos pacotes das classes.

Da forma que ele fez tá certo, não precisa tá junto das classes, depois de compilado vai parar junto mesmo, está separada apenas para não misturar classes Java e arquivos ‘comuns’.

Segue a estrutura de um projeto Maven que roda em JBoss 7, porém esse projeto resulta em um jar e não war.
.
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── br
│ │ └── com
│ └── resources
│ ├── ehcache.xml
│ └── META-INF
│ ├── beans.xml
│ ├── ejb-jar.xml
│ ├── orm.xml
│ └── persistence.xml
└── test
└── java
└── br
└── com

Tem esse link que explica um pouco onde por o persistence.xml em um WAR.

http://javahowto.blogspot.com.br/2007/06/where-to-put-persistencexml-in-web-app.html

[quote=lsjunior]Da forma que ele fez tá certo, não precisa tá junto das classes, depois de compilado vai parar junto mesmo, está separada apenas para não misturar classes Java e arquivos ‘comuns’.

Segue a estrutura de um projeto Maven que roda em JBoss 7, porém esse projeto resulta em um jar e não war.
.
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── br
│ │ └── com
│ └── resources
│ ├── ehcache.xml
│ └── META-INF
│ ├── beans.xml
│ ├── ejb-jar.xml
│ ├── orm.xml
│ └── persistence.xml
└── test
└── java
└── br
└── com

Tem esse link que explica um pouco onde por o persistence.xml em um WAR.

http://javahowto.blogspot.com.br/2007/06/where-to-put-persistencexml-in-web-app.html
[/quote]Como não sei se a aplicação dele está configurada corretamente com o maven, preferi não arriscar. Pois se igual acima não funcionou, não sei c é algo errado no script.

Para JEE 6 não é necessário mais um JAR separado. Você pode rodar até EJB de dentro de um WAR.

É mais por organização mesmo. Deixo cada módulo da aplicação separado, fica mais organizado e fácil de achar as coisas.

[quote=lsjunior]É mais por organização mesmo. Deixo cada módulo da aplicação separado, fica mais organizado e fácil de achar as coisas.[/quote]Entenda que eu não estou falando que está errado ou é má prática. Estou alertando para o fato de que é necessário conhecer o Maven também. Não adianta colocar o arquivo no lugar certo de o pom estiver errado. ^^

caramba, ta complicado, rs…
ja criei varios projetos, workspace uma zona
horas ja pra fazer isso =((

[quote=igor_ks]caramba, ta complicado, rs…
ja criei varios projetos, workspace uma zona
horas ja pra fazer isso =(([/quote]Segue esse tutorial que funciona: Hibernate 3 com JPA 2.

Criando assim igual seu tutorial Hebert, com Java Project, da certo…

Agora qdo crio um Maven Project ele ja nao acha, com a mesma estrutura de pastas

Resolvido!

adicionei essa dependencia no pom.xml ai foi

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.1.7.Final</version> </dependency>