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.