>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Hibernate dúvida no xml


Qual a diferença entre usar javax.persistence e hibernate.connection no xml ? É obrigatório criar o banco de dados manualmente ?
xml exemplo rlsystem.

[XML]




org.hibernate.ejb.HibernatePersistence
br.com.rlsystem.DB.Cliente
br.com.rlsystem.DB.Categoria














[/XML]

Exemplo em uma só xml usando mais de um banco de dados mais usando javax.persistence e hibernate.persistence.

[XML]
xmlns:xsi="http://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">





org.hibernate.ejb.HibernatePersistence


modelo.Conta
modelo.Movimentacao















org.hibernate.ejb.HibernatePersistence
modelo.Conta














org.hibernate.ejb.HibernatePersistence
modelo.Conta














[/XML]



21 Respostas


Olá

Utilizando javax.persistence você usa o JPA, que posteriormente seleciona hibernate.

Assim, você programa em JPA e não diretamente em Hibernate.

Aproveita os recursos que o JPA oferece diretamente, que é muito mais fácil.

A ideia de deixar ele criar o banco é para facilitar, onde você deve pensar apenas em classes e não em tabelas.




A dúvida é pelo seguinte, o projeto usando javax.persistence o meu projeto cria as tabelas no banco e funciona normalmente. Já o projeto usando diretamente o hibernate não funciona.




Olá

Mas veja que neste caso usamos o JPA, e ele usa o hibernate.

Pelo que entendi com JPA funciona? É isso?




Sim, funciona.




xml usado que esta funcionando é em outro projeto jpa com hibernate e os arquivos do hibernate é pasta lib requerida e a jpa juntamente com o arquivo jar mysql.

Um detalhe professor o projeto que baixo os arquivos não estão todos na pasta lib, percebi que tem bibliotecas que estão na sua área de trabalho e os arquivos do tomcat não vem na pasta lib, é possível você coloca-los no projeto para eu usar as bibliotecas que você esta usando. Ai vou baixar novamente pois tenho que remover a maioria pois da erro e importo as bibliotecas que tenho da versão atual.

[XML]

xmlns:xsi="http://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">



org.hibernate.ejb.HibernatePersistence

modelo.Livro
modelo.Autor














[/XML]




Dejair,

Quantos jar tem na lib que você baixou?




29 jar professor.




Olá

Então esta certo, são esses mesmos que utilizo.

Mas, se agora esta funcionando, é só dar sequencia.

Essa forma que esta utilizando também é bem vista e simples.

O único detalhe é que ele tem vários conexões para outros banco, você pode tirar, e deixar só o de MySQL.




Mais professor o projeto hibernate não esta funcionando o que esta e outro com o nome de conjas-jpa o qual utiliza a classe java para inserir(persistir) os dados não jsp. O projeto usa jpa com hibernate com exemplo através de classes.




Os jar do projeto hibernate que vem no download:

antlr-2.7.6.jar
asm.jar
asm-attrs.jar
axis.jar
commons-collections-2.1.1.jar
commons-collections-3.1.jar
commons-discovery-0.2.jar
commons-logging.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate3.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-core.jar
hibernate-entitymanager.jar
htmlentities.jar
javassist.jar
javassist-3.4.GA.jar
jaxrpc.jar
jdom.jar
jta.jar
jta-1.1.jar
mysql-connector-java-5.1.7-bin.jar
saaj.jar
slf4j-api-1.6.6.jar
slf4j-jdk14-1.6.6.jar
slf4j-log4j12-1.6.6.jar
wsdl4j.jar




Dejair,

O projeto que não funciona.

Ele gera erro ao complicar ou na hora de inserir algum registro?

Quantos aos jar, são esses mesmos.




Dejair,

O projeto que não funciona.

Ele gera erro ao complicar ou na hora de inserir algum registro?

Quantos aos jar, são esses mesmos.




O projeto não consegue rodar erros abaixo:

http://rlsystem.com.br/forum/disco/uploads/867e9317059a06b21249a9d718378b06-Erro projeto hibernate..txt




Olá

Veja o erro:

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)

De usuário e senha.

Esta realmente certo os dados de acesso e nome do banco?




Esta professor analise o outro projeto na parte do xml a senha e o usuario é a mesma. Projeto em arquivo txt anexo abaixo:

http://rlsystem.com.br/forum/disco/uploads/14130356085e44275cdcb61fff680730-projeto em txt.txt




Dejair

Veja que no XML do projeto que funciona, você colocou a senha: m1y2sql

Já no XML do projeto que não funciona, você não colocou nenhuma senha.

VEJA (do arquivo txt que me mandou)


O problema inicial é na senha.




Foi proposital retirar a senha para enviar professor mais esta com a mesma.




Formato do login e senha naquele momento de envio professor.
[XML]




org.hibernate.ejb.HibernatePersistence
br.com.rlsystem.DB.Cliente
br.com.rlsystem.DB.Categoria














[/XML]




Dejair

Muito estranho

O erro que acusa é:

root cause

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)

Ou seja ele diz que a senha ta errada.

Mais em cima ele fala: Cannot open connection justamente porque ele não consegue conectar.

Vamos la, peço que faça o seguinte.

No projeto que não funciona e que você quer fazer funcionar, use o XML do seu outro projeto, aquele que funciona.

Ou seja, mude apenas os XML, do persistence.xml, cuidado onde ele fica!

E altere os dados de banco dele.

Fico no aguardo




Alterei professor, e exclui todos os jar que veio no projeto, usei somente os jar do hibernate required juntamente com jpa e outro jar do mysql que baixei, importei todas os jar da pasta lib do tomcat para o projeto e ja tinha criado o banco de dados no mysql ha algum tempo vazio pois não estava funcionando. Olha o resultado:

http://rlsystem.com.br/forum/disco/uploads/03b9c31b05ecc324491b124d1286d2da-projeto com xml alterado..txt




Dejair,

Estranho.

Especificamente neste caso, irei tentar lhe auxiliar virtualmente.
Enviei um e-mail a você.