Persistence.xml - dúvidas no arquivo de configuração do jpa [RESOLVIDO]

5 respostas
raffamz
Amigos, estou com dúvidas no arquivo:
<?xml version="1.0" encoding="UTF-8" ?> 
  <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
  <persistence-unit name="timesheet"> ***é a tabela? usuário? banco?????
 <provider>org.hibernate.ejb.HibernatePersistence</provider> ***defino qual provider, neste caso, o hibernate
  <class>br.com.souza.Funcionario</class>  ***nome da classe que vai ter a persistencia

  <properties>

  <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> ***????
  <property name="hibernate.hbm2ddl.auto" value="update" /> ***atualiza quando tiver qlqr alteração
  <property name="hibernate.show_sql" value="true" /> ***visualizo a consulta no console
  <property name="hibernate.format_sql" value="true" /> ***formatação
  <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> ***driver do mysql
  <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/timesheet" />***é a tabela? usuário? banco????
 <property name="javax.persistence.jdbc.user" value="root" /> ***usuário root do BD
  <property name="javax.persistence.jdbc.password" value="" /> ***senha
  </properties>
  </persistence-unit>
  </persistence>

Podem me ajudar no que seria o [color=red][/color], o [color=red]jdbc:mysql://localhost/timesheet[/color] , e o [color=red][/color] ??

5 Respostas

J

é o nome da unidade de persistencia,
jdbc:mysql://localhost/timesheet esse é o caminho do bd
esse é dialeto q ele vai usar para montar os comandos no caso, o dialeto do Mysql

raffamz

jgtorres,
Obrigado pelo retorno.

Sim, mas para que serve o nome da unidade de persistencia? E que caminho no BD é esse?

Grande Abraço

J

esse vai ser o nome q vc vai usar para injetá-lo num EntityManager via Annotation, Injection em um EJB, e via factory para permitir q vc faça as persistências dos objetos, e o caminho do bd, é a url q vc usa para acessar esse banco sacou?

raffamz

Neste caso a url, depois do localhost é o nome do BD? Show de bola.
Mas sobre o nome que vou usar para injetar na EntityManager, não entendi mto bem…pode ser qlqr nome? Não precisa ter referencia com o BD, tabela e nem classe?

Abraço e obrigado pela resposta!

W

amigo

<persistence-unit name="timesheet"> // <--

é o nome a persistencia que você deverá atribuir ao criar uma EntityManager

//  você passa para 
EntityManagerFactory factory = Persistence.createEntityManagerFactory("timesheet"); // <--
EntityManager entityManager = factory.createEntityManager();
Criado 31 de julho de 2012
Ultima resposta 2 de ago. de 2012
Respostas 5
Participantes 3