Erro com persistencia

estou desenvolvendo uma aplicação em netbeans6m9, e
visual web jsf page.

Uma aplicação simples, com o objetivo de trazer os dados de um banco
postgres 8.1 e exibilos em uma table.

Tudo foi feito seguindo o artigo,
http://www.winstonprakash.com/articles/netbeans/JPADataBinding.html

O problema é que ao dar o run, é apresentado o seguinte erro.

“oracle.toplink.essentials.exceptions.EJBQLException
Exception Description: Error compiling the query [select r from Rede
as r]. Unknown abstract schema type [Rede].”

Já estou perdendo os cabelos por causa desse erro.

Pelo que andei pesquisando, o erro esta nesse trecho, que aparentemente nao tem nada de errado.

public Rede[] getRedes(){

EntityManager em = getEntityManager();
try{
Query q = em.createQuery(“SELECT r FROM Rede as r”);
return (Rede[]) q.getResultList().toArray(new Rede[0]);

}finally{
em.close();
}

Alguém ja passou por algo parecido!?

Tks,
Gláuber Crying or Very sad

Coloca ae o código da classe Rede

ta ae…

@Entity
@Table(name = “rede”,schema=“cadastro_hotel”)
@NamedQueries( {@NamedQuery(name = “Rede.findById”, query = “SELECT r FROM Rede r WHERE r.id = :id”), @NamedQuery(name = “Rede.findByNome”, query = “SELECT r FROM Rede r WHERE r.nome = :nome”), @NamedQuery(name = “Rede.findByTel”, query = “SELECT r FROM Rede r WHERE r.tel = :tel”)})
public class Rede implements Serializable {
@Id
@Column(name = “id”, nullable = false)
private Integer id;
@Column(name = “nome”)
private String nome;
@Column(name = “tel”)
private String tel;
@OneToMany(mappedBy = “fkRede”)
private Collection hotelCollection;

public Rede() {
}

public Rede(Integer id) {
    this.id = id;
}

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getTel() {
    return tel;
}

public void setTel(String tel) {
    this.tel = tel;
}

public Collection<Hotel> getHotelCollection() {
    return hotelCollection;
}

public void setHotelCollection(Collection<Hotel> hotelCollection) {
    this.hotelCollection = hotelCollection;
}

@Override
public int hashCode() {
    int hash = 0;
    hash += (id != null ? id.hashCode() : 0);
    return hash;
}

@Override
public boolean equals(Object object) {
    // TODO: Warning - this method won't work in the case the id fields are not set
    if (!(object instanceof Rede)) {
        return false;
    }
    Rede other = (Rede) object;
    if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "cadastroHotel.jpa.Rede[id=" + id + "]";
}

}

Isso q eu vou falar pode parecer besteira, mas vc já tentou deixar sua query assim:

Query q = em.createQuery("SELECT r FROM rede as r"); return (Rede[]) q.getResultList().toArray(new Rede[0]);
Com “rede” ao invés de “Rede”, pq o erro parece estar relacionado ao fato de ele não estar encontrando a entidade.

Pois é, de algum modo ele nao esta conseguindo achar a entidade Rede, já tentei com “rede”, mas de qualquer forma, o nome da entidade é “Rede”…

Vi em um forum gringo, algo relacionado com um mapeamento dessa entidade no persistence.xml, mas nao entendi muito bem não. Aqui no trabalho tenho outra aplicação, nos mesmos padrões funcionando de boa…

Tem outra ideia do que possa ser!?

Tks!

Tenho uma sugestão:
Compara passo a passo esse teu projeto com o que está funcionando, principalmente os arquivos de configuração, estrutura de diretórios, etc. Se não conseguir achar o erro mesmo assim, posta o teu persistence.xml ae e passa esse link que vc comentou pra que eu possa dar uma olhada.

Ja fiz isso tb, mas por via das duvidas vo fazer denovo…

o link é esse daqui ó
http://www.winstonprakash.com/articles/netbeans/JPADataBinding.html

e meu persistence.xml é esse

<?xml version="1.0" encoding="UTF-8"?> homolog_blumar_cadastro_hotel

Após uma rápida pesquisa, acho q a sua query está errada, tive olhando o Tutorial de JavaEE da Sun e a sintaxe para retornar todos os registros deve ser a seguinte:

 Query q = em.createQuery("SELECT r FROM Rede r"); 

Se quiser dar uma olhada, esse é o link:
http://java.sun.com/javaee/5/docs/tutorial/doc/

Hummm… estou dando uma olhada!

Mas tb não adiantou

Error compiling the query [SELECT r FROM Rede r]. Unknown abstract schema type [Rede].

Tks!

glauber, só pra confirmar, tu ta usando isto dentro de um glassfish ou outro container java EE5?
se não estiver tem que especificar outras propriedades no persistence.xml

se sim, a arte de persistencia esta dentro de um arquivo .par?
as entidades estão no mesmo jar que o persistence.xml?

Dentro do proprio netbeans, Sun Java System Server Application 9 .

Tks.

Cara, eu estava com o mesmo problema.
Verifiquei as configurações do persistence, anotações e estava tudo correto.
No meu caso eu uso eclipse.
A solução foi que executei um project clean e voltou a funcionar normalmente.
flws…

Para quem tiver o tal erro.
resolvi fazendo o seguinte:
Tinha um arquivo no persistence que tinha deletado do projeto.
apaguei a linha do mesmo. o projeto rodou blz.