Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro No identifier specified for entity

Ao tentar fazer teste unitário estou com este erro:

org.hibernate.AnnotationException: No identifier specified for entity: br.com.netsoft.notafiscalservico.modelo.endereco.PaisEntity

Entendi que ele não está achando o @Id na classe.

Minha classe pais

package br.com.netsoft.notafiscalservico.modelo.endereco;

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Index;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    import javax.persistence.UniqueConstraint;

    import br.com.netsoft.anotacao.ExclusaoLogica;
    import br.com.netsoft.modelo.NotaFiscalServicoEntity;

    @Entity
    @Table(name = "TB_PAIS", schema = "ENDERECOS", uniqueConstraints = { @UniqueConstraint(columnNames = { "DS_DESCRICAO" }, name = "UK_PAIS_DES") }, indexes = {
            @Index(columnList = "DS_DESCRICAO", name = "IDN_PAIS_DES"),
            @Index(columnList = "ST_REGISTRO", name = "IDN_PAIS_REGISTRO") })

    public class PaisEntity extends NotaFiscalServicoEntity {

        private static final long serialVersionUID = 4072047999345381034L;

        private String descricao;

        @Id
        @Override
        @Column(name = "ID_PAIS")
        @SequenceGenerator(name = "ENDERECOS.SQ_PAIS", sequenceName = "ENDERECOS.SQ_PAIS", allocationSize = 1)
        @GeneratedValue(generator = "ENDERECOS.SQ_PAIS", strategy = GenerationType.SEQUENCE)
        public Long getId() {
            return super.getId();
        }

        @Column(name = "DS_DESCRICAO", length = 255, nullable = false)
        public String getDescricao() {
            return descricao;
        }

        public void setDescricao(String descricao) {
            this.descricao = descricao;
        }

    }

EntityManager

  public EntityManager getEntityManager() {

            EntityManagerFactory entityManagerFactory = Persistence
                    .createEntityManagerFactory("nfse");

            entityManager = entityManagerFactory.createEntityManager();

            return entityManager;
        }

persistence.xml

  <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.1"
        xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
        <persistence-unit name="nfse">
            <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>br.com.netsoft.notafiscalservico.modelo.endereco.PaisEntity</class>
            <properties>
                <!-- Propriedades JDBC -->
                <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
                <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/prefeitura" />
                <property name="javax.persistence.jdbc.user" value="postgres" />
                <property name="javax.persistence.jdbc.password" value="63Netsis417" />
                <!-- Configurações específicas do Hibernate -->
                <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
                <property name="hibernate.hbm2ddl.auto" value="update" />
                <property name="hibernate.show_sql" value="true" />
                <property name="hibernate.format_sql" value="true" />
                <property name="show_sql" value="true" />
            </properties>
        </persistence-unit>
    </persistence>

O que pode ser ?

5 respostas
solução!

Boa note, Guilherme! Como vai?

Anote a sua classe PaisEntity com @Access(AccessType.PROPERTY) e verifique se funciona!

Grande abraço!

E aí, Guilherme! Alguma novidade? A solução que eu sugeri resolveu seu problema?

Ainda não testei. Vou fazer hoje se manhã e te informo.

Blz! No aguardo pra ver se a gente consegue carimbar esse tópico como resolvido!

Grande abraço!

E aí, Guilherme! Conseguiu fazer o teste e resolver esse problema?