EntityManager

Oi pessoal,

To com um código pra fazer conexao com uma base de dados oracle.

Acontece um problema que ele não encontra as queries para fazer conexao com a base, sendo que elas estão implementadas no beans.

Código abaixo:

@Entity
@Table(name = “VER_VERSAOPR”)
@NamedQueries({@NamedQuery(name = “VerVersaopr.findAll”, query = “SELECT v FROM VerVersaopr v”),
@NamedQuery(name = “VerVersaopr.findByVerIdversao”, query = “SELECT v FROM VerVersaopr v WHERE v.verVersaoprPK.verIdversao = :verIdversao”),
@NamedQuery(name = “VerVersaopr.findByVerIdprodut”, query = “SELECT v FROM VerVersaopr v WHERE v.verVersaoprPK.verIdprodut = :verIdprodut”),
@NamedQuery(name = “VerVersaopr.findByVerNomevers”, query = “SELECT v FROM VerVersaopr v WHERE v.verNomevers = :verNomevers”),
@NamedQuery(name = “VerVersaopr.findByVerBetavers”, query = “SELECT v FROM VerVersaopr v WHERE v.verBetavers = :verBetavers”),
@NamedQuery(name = “VerVersaopr.findByVerDescrica”, query = “SELECT v FROM VerVersaopr v WHERE v.verDescrica = :verDescrica”),
@NamedQuery(name = “VerVersaopr.findByVerStatvers”, query = “SELECT v FROM VerVersaopr v WHERE v.verStatvers = :verStatvers”),
@NamedQuery(name = “VerVersaopr.findByVerRegusuar”, query = “SELECT v FROM VerVersaopr v WHERE v.verRegusuar = :verRegusuar”),
@NamedQuery(name = “VerVersaopr.findByVerDatalter”, query = “SELECT v FROM VerVersaopr v WHERE v.verDatalter = :verDatalter”)})
public class VerVersaopr implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected VerVersaoprPK verVersaoprPK;
@Basic(optional = false)
@Column(name = “VER_NOMEVERS”)
private String verNomevers;
@Basic(optional = false)
@Column(name = “VER_BETAVERS”)
private String verBetavers;
@Column(name = “VER_DESCRICA”)
private String verDescrica;
@Basic(optional = false)
@Column(name = “VER_STATVERS”)
private String verStatvers;
@Basic(optional = false)
@Column(name = “VER_REGUSUAR”)
private String verRegusuar;
@Basic(optional = false)
@Column(name = “VER_DATALTER”)
@Temporal(TemporalType.DATE)
private Date verDatalter;

// Função para acessar essa entity

public List ListaVersoes(){

     EntityManager em = Conecta.getEntityManager();  
     Query query = em.createNamedQuery("VerVersaopr.findAll");
     
    try {
        List l1 = query.getResultList();
        return l1;

        } catch (Exception e1) {
        e1.printStackTrace();
        return null;
    } finally {
        em.close();
    }
}

Quando eu passo pela linha que está a query ele dá o seguinte erro:

Named query not found: VerVersaopr.findAll

Alguém poderia me dar uma dica do que pode ser ?

Obrigada.

Oi Vera.

Você verificou se o arquivo .jar de driver de conexão do Oracle está setado no servidor que vc está usando. Verifique isso, pois caso ele não estiver setado vc não consiguira criar as Entitys no seu DataBase.

Me diga qual IDE vc está usando para que eu possa lhe ajudar melhor nesta questão.

Um abraço

Marcelo

Oi Vera.

Tem outra dica. Verifica se a biblioteca ejb3.persistence.xml está instalada na aplicação também

Oi Marcelo,

Quando você fala se o conector do oracle está setado no servidor. Você está me dizendo que esse conector além de estar nas bibliotecas da aplicação, ele também deve estar na pasta do servidor, ou seja , no meu caso do tomcat porque é o servidor que estou usando na aplicação.

Obrigada.