Acontece que algumas entidades tem um campo inteiro indicando um registro em uma view.(como uma FK).
Mas como faço pra mapear essa view com EJB3?
Pesquisei no google mas ta difícil de encontrar alguma coisa.
Aqui no GUJ encontrei esse tópico: http://guj.com.br/posts/list/126435.java#683078
Mas sinceramente não ajudou muito, não posso ficar usando HQL muito menos SQL nativa (esse último é praticamente fora de cogitação), queria poder usar Criteria =D
[color=darkred]Resumindo, minha dúvida é:
Mas como mapear a classe de entidade que represente uma view?[/color]
Cara, dá uma olhada no jboss seam!
Com ele, você pode utilizar suas classes persistentes na view.
Tchello
Cara, acho que você não me entendeu.
To falando de view de banco de dados… capiche?
Abraços.
danieldestro
EJB 3 = JPA?
JPA não tem Criteria.
Tchello
Ok ok, desconsiderando o Criteria.
Como posso mapear uma view de bd com JPA?
Serei obrigado a usar HQL? ou SQL Nativo?
Abraços!
danieldestro
O problema das VIEWS de BD, é que, em geral, elas não possuem PK e FK. Já vi empresas que criam Views com PK e FK no Oracle.
Se você tiver um campo que seja a PK da “tupla”, você pode usar normalmente.
Tchello
Mas eu mapeio como uma entidade normal?
Usando as annotations @Entity E @Table?
É o meu caso. Usamos postgres aqui.
danieldestro
Isso, do mesmo modo.
No Postgres eu nçao sei, mas no Oracle, tanto uma tabela, quanto uma view você pode fazer um select normalmente.
select * from tabela_a;
select * from view_b;
Tchello
Mas se eu mapeio do mesmo modo que uma entidade de tabela provavelmente o Criteria vai se aplicar a esse caso também, correto?
Farei uns testes aqui e logo (segunda feira no caso) posto mais dúvidas =P
Muito obrigado!
danieldestro
JPA não tem Criteria. Hibernate tem!
Além do que, o mapeamento (ORM) é lógico e não físico.
Lavieri
bom nunca mapeie uma view… mas acho q seria uma boa marcar todos os campos com insertable e updatable false… afinal é uma view … e seu Objeto não deve ter métodos sets, pelomenos não publicos