1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Configuração do JPA

Pessoal estou tentando configurar uma aplicação web no padrão JPA, mas está dando o seguinte erro:

t org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:440)
    at br.com.jpa.conexao.TesteConexao.main(TesteConexao.java:23)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'escola.SEQUENCE' doesn't exist

essa é minha classe que estou tentando realizar o teste: TesteConexão.java

import entidades.Alunos;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

public class TesteConexao {

    public static void main(String[] args){
        EntityManager em = JPAUtil.getEntityManager();

        Alunos aluno = new Alunos();
        aluno.setNome("Roberto");
        aluno.setCidade("Itambe");

        EntityTransaction tx = em.getTransaction();
        tx.begin();
        em.persist(aluno);
        tx.commit();

        em.close();
    }
}

Essa é a classe de persistencia: Alunos.java

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="alunos")
public class Alunos implements Serializable {

    @Id @GeneratedValue
    private Integer idalunos;
    @Column(name="nome")
    private String nome;
    private String cpf;
    private String endereco;
    private String cep;
    private String cidade;
    private String estado;
    private String pais;
    private String telefone;
    private String telefonepai;
    private String telefonemae;
    private byte[] image;

    /**
     * @return the idalunos
     */
    public Integer getIdalunos() {
        return idalunos;
    }

    /**
     * @param idalunos the idalunos to set
     */
    public void setIdalunos(Integer idalunos) {
        this.idalunos = idalunos;
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the cpf
     */
    public String getCpf() {
        return cpf;
    }

    /**
     * @param cpf the cpf to set
     */
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    /**
     * @return the endereco
     */
    public String getEndereco() {
        return endereco;
    }

    /**
     * @param endereco the endereco to set
     */
    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    /**
     * @return the cep
     */
    public String getCep() {
        return cep;
    }

    /**
     * @param cep the cep to set
     */
    public void setCep(String cep) {
        this.cep = cep;
    }

    /**
     * @return the cidade
     */
    public String getCidade() {
        return cidade;
    }

    /**
     * @param cidade the cidade to set
     */
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    /**
     * @return the estado
     */
    public String getEstado() {
        return estado;
    }

    /**
     * @param estado the estado to set
     */
    public void setEstado(String estado) {
        this.estado = estado;
    }

    /**
     * @return the pais
     */
    public String getPais() {
        return pais;
    }

    /**
     * @param pais the pais to set
     */
    public void setPais(String pais) {
        this.pais = pais;
    }

    /**
     * @return the telefone
     */
    public String getTelefone() {
        return telefone;
    }

    /**
     * @param telefone the telefone to set
     */
    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    /**
     * @return the telefonepai
     */
    public String getTelefonepai() {
        return telefonepai;
    }

    /**
     * @param telefonepai the telefonepai to set
     */
    public void setTelefonepai(String telefonepai) {
        this.telefonepai = telefonepai;
    }

    /**
     * @return the telefonemae
     */
    public String getTelefonemae() {
        return telefonemae;
    }

    /**
     * @param telefonemae the telefonemae to set
     */
    public void setTelefonemae(String telefonemae) {
        this.telefonemae = telefonemae;
    }

    /**
     * @return the image
     */
    public byte[] getImage() {
        return image;
    }

    /**
     * @param image the image to set
     */
    public void setImage(byte[] image) {
        this.image = image;
    }
}

Esse é o meu dao: AlunosDao.java

import br.com.jpa.conexao.JPAUtil;
import entidades.Alunos;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

/**
 *
 * @author tiago
 */
public class AlunosDao implements InterfaceAlunosDao{

    @Override
    public void salvar(Alunos aluno) {
        EntityManager em = JPAUtil.getEntityManager();

        EntityTransaction tx = em.getTransaction();
        tx.begin();
        em.persist(aluno);
        tx.commit();

        em.close();
    }

    @Override
    public List<Alunos> lista() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}

Esse é o meu Bean: AlunoBean.java

import br.com.jpa.dao.AlunosDao;
import entidades.Alunos;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author tiago
 */
@ManagedBean
@RequestScoped
public class AlunoBean {

    private Alunos aluno = new Alunos();

    public AlunoBean() {
    }

    public Alunos getAluno(){
        return this.aluno;
    }

    public void grava(Alunos aluno){
        new AlunosDao().salvar(aluno);
    }
}

Esse é o meu arquivo de configurção do JPA persistence.xml

<?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="JPAPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>entidades.Escola</class>
    <class>entidades.Alunos</class>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/escola"/>
      <property name="javax.persistence.jdbc.password" value="12123636"/>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="javax.persistence.jdbc.user" value="root"/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
    </properties>
  </persistence-unit>
</persistence>

Alguém por favor me ajude, eu estou usando como referencia o livro (aplicações java para web com jsf e jpa) da casa do código, mas mesmo assim não estou conseguindo.

  • Coloca aqui o mapeamento da entidade Escola. Pela mensagem de erro, pode ser que o erro seja algo relacionado a ela.

    Rodrigo Uchôa   18 de ago de 2013
  • Verifique se a class escola está com anotação @Entity e se o caminho dela é o mesmo de aluno.

    Jardel Rodrigues   18 de ago de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags jpa jsf java-ee java ou faça a sua própria pergunta.