View em JPA

Galera como se faz para utilizar uma view wm JPA alguem tem um exemplo? Naum axei nada no google.
Obrigado.

Olá amigo pra se utilizar view em JPA é necessario se ter uma Entity persistente com os campos da sua view como
se fosse uma Entity normal de uma tabela do seu banco de dados. Caso vc utilize o Netbeans como IDE de desenvolvimento ja deve saber que ele gera as Entitys automaticamente! E ele tbm gera automaticamente uma Entity pra cada view criada no banco. Dai é so chamar assim oh:

[code]
public static List ConsultarViewTeste() throws Exception {
EntityManager manager = null;
String ejbql = “SELECT V from ViewTeste V”;

    try {
        manager = Conexao.getConexao();
        manager.getTransaction().begin();
        Query query = manager.createQuery(ejbql);
        manager.getTransaction().commit();
        List<ViewTeste> listaViewTeste = query.getResultList();
        return listaViewTeste;
    } catch (Exception e) {
        manager.getTransaction().rollback();
        throw new Exception(e);
    }
}[/code]

ok,obrigado.
Mas tenho uma duvida meu mapeamento esta sendo exportado automaticamente para o banco, com update=true,se eu criar a entity ele vai criar uma table ou uma view no banco?
T+.

Brother, aqui nós utilizamos funções do próprio banco de dados, exemplo:

Vc tem uma tabela física CLIENTE

Vc tem uma view da tabela CLIENTE, sendo CLIENTE01

Na entidade deixo mapeada com a tabela física, quando realizo o sql o próprio banco de dados pesquisa a view definida, entende?

O banco de dados gerencia isso pra vc.

Infelizmente vai criar uma table…

é obrigatorio criar um id?
Aqui fiz a tabela e criei uma visao dela porem me da erro no nome das colunas diz que a coluna nao existe,o que pode ser?
Obrigado.

É obrigadorio vc criar id, sendo que se o seu id ou “chave” for composta, deverá criar outra classe e utilizar a anotação @IdClass

Dúvidas ?

Como disse, pra que criar uma view no java ? pq não cria no banco de dados e ele gerencia isso pra vc, vc apenas pode indicar no seu select o “from” pra sua view, só isso

Concordo com o jonimca e é exatamente como ele disse que eu faço.

Ex: Vc tem as Tabelas cidade e estado no banco.

Cidade
id
idEstado
nome

Estado
id
nomeEstado

Vc cria uma view no seu banco que traga as seguintes informações:

View
id
nome
nomeEstado

Por padrão vc tera uma Entity para a Tabela Cidade e outra Para Estado, sendo assim tera quer fazer uma para View. Observação como eu havia dito o netbeans ja gera tanto as Entitys das Tabelas no banco quando das Views. dai no seu ejbql é fazer assim oh:

E vc ja tera os seguintes campos.
id
nome
nomeEstado

Abraço.