Criar Tabelas com o JPA

8 respostas
ricardocomp

Olá pessoal,

Eu estou começando a aprender o JPA agora, e estou desenvolvendo uma aplicação simples de gerenciamento de bolsista:

Mas eu não consigo criar as minhas tabelas com o JPA eu fiz o meu “persistence.xml” da seguinte maneira

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 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">
  <persistence-unit name="todos" transaction-type="RESOURCE_LOCAL">
    <class>br.icmc.usp.modelo.Orientador</class>
    <class>br.icmc.usp.modelo.Bolsista</class>
    <class>br.icmc.usp.modelo.Contrato</class>
    <class>br.icmc.usp.modelo.Curso</class>
    <class>br.icmc.usp.modelo.Departamento</class>
    <class>br.icmc.usp.modelo.Pagamento</class>
    <properties>
      <!-- MySQL -->
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/gerenciador_bolsistas"/>
      <property name="javax.persistence.jdbc.user" value="root"/>
      <property name="javax.persistence.jdbc.password" value="MinhaSenha"/>
      <!-- EclipseLink should create the database schema automatically -->
      <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
      <property name="eclipselink.ddl-generation.output-mode" value="database"/>
    </properties>
  </persistence-unit>
</persistence>

Mas eu não sei porque eu não consigo gerar as minhas tabelas no Banco mesmo depois de reiniciar o TOMCAT.

Será q alguém poderia me dar uma ajuda?

[]'s.

8 Respostas

ricardocomp

Olá pessoal,

alguém sabe me dizer se eu preciso inserir essas linhas no meu “persistence.xml”?

<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<non-jta-data-source>personalizado</non-jta-data-source>

[]'s.

danielso2007

Se você estiver usando o Hibernate como provider (Implementação do JPA), você pode usar a propriedade hibernate.hbm2ddl.auto.

<properties> ... <property name="hibernate.hbm2ddl.auto" value="validate"/> ... </properties>
O campo value pode ser: validate, update, create, create-drop.

Implementação do JPA:

<provider>org.hibernate.ejb.HibernatePersistence</provider>

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html

ricardocomp

Falaaa Daniel,

Eu to usando a implementação do EclipseLink :D.

Será q teria como vc ou alguém me dar uma ajuda?

[]'s.

ricardocomp

A seguinte mensagem fica aparecendo no terminal

Note: Creating static metadata factory ...
Note: Building metadata class for round element: br.icmc.usp.modelo.Contrato
Note: Building metadata class for round element: br.icmc.usp.modelo.Orientador
Note: Building metadata class for round element: br.icmc.usp.modelo.Departamento
Note: Building metadata class for round element: br.icmc.usp.modelo.Curso
Note: Building metadata class for round element: br.icmc.usp.modelo.Pagamento
Note: Building metadata class for round element: br.icmc.usp.modelo.Bolsista
Note: Optional file was not found: META-INF/orm.xml continuing with generation.
Note: Optional file was not found: META-INF/eclipselink-orm.xml continuing with generation.
Note: Optional file was not found: META-INF/orm.xml continuing with generation.
Note: Optional file was not found: META-INF/eclipselink-orm.xml continuing with generation.

Mas não sei o que deve estar acontecendo, será q alguém poderia me dar uma ajuda?

[]'s.

ricardocomp

Olá pessoal,

Alguém conhece algum tutorial bom de JPA + Netbeans que possa me ajudar?

Eu já estou procurando aqui:
http://www.google.com/search?q=JPA+Netbeans&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a

mas se alguém conhece algum tutorial que possa me enviar por e-mail: [email removido], qq ajuda é sempre bem vinda.

Obrigado Daniel pela ajuda.

[]'s.

ricardocomp

Olá pessoal,
eu estou seguindo esse tutorial:

http://netbeans.org/kb/docs/javaee/jpa-eclipselink-screencast.html

e consegui criar o meu persistence.xml da forma correta e agora está aparecendo a seguinte mensagem no terminal

error: javax.annotation.processing.FilerException: Attempt to recreate a file for type br.icmc.usp.modelo.Bolsista_


An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.RuntimeException: javax.annotation.processing.FilerException: Attempt to recreate a file for type br.icmc.usp.modelo.Bolsista_
	at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:407)
	at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:625)
	at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:554)
	at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:699)
	at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:981)
	at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
	at com.sun.tools.javac.main.Main.compile(Main.java:353)
	at com.sun.tools.javac.main.Main.compile(Main.java:279)
	at com.sun.tools.javac.main.Main.compile(Main.java:270)
	at com.sun.tools.javac.Main.compile(Main.java:69)
	at com.sun.tools.javac.Main.main(Main.java:54)
Caused by: javax.annotation.processing.FilerException: Attempt to recreate a file for type br.icmc.usp.modelo.Bolsista_
	at com.sun.tools.javac.processing.JavacFiler.checkNameAndExistence(JavacFiler.java:478)
	at com.sun.tools.javac.processing.JavacFiler.createSourceOrClassFile(JavacFiler.java:372)
	at com.sun.tools.javac.processing.JavacFiler.createSourceFile(JavacFiler.java:363)
	at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.generateCanonicalModelClass(CanonicalModelProcessor.java:98)

	at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.generateCanonicalModelClasses(CanonicalModelProcessor.java:226)
	at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:403)
	... 10 more
C:\Documents and Settings\Ricardo\Meus documentos\NetBeansProjects\GerenciadorBolsistas\nbproject\build-impl.xml:550: The following error occurred while executing this line:
C:\Documents and Settings\Ricardo\Meus documentos\NetBeansProjects\GerenciadorBolsistas\nbproject\build-impl.xml:263: Compile failed; see the compiler error output for details.
FALHA NA CONSTRUÇÃO (tempo total: 4 segundos)

Será que alguém poderia me dar uma ajuda?

[]'s.

L

Bom dia Ricardo.
Não sei se já resolveu o problema, mas de qualquer forma segue uma solução que funcionou pra mim quando tive o mesmo problema.

No Netbeans vá nas propriedades do projeto e nas opções de compilação desabilite o processamento de anotações.

Abraços

Luciano

ricardocomp

http://www.icmc.usp.br/~ricardoramos/TutorialJPA.pdf

Criado 24 de agosto de 2011
Ultima resposta 19 de set. de 2011
Respostas 8
Participantes 3