Duvida em Critéria  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
cristianovieira
Debugger

Membro desde: 10/03/2011 15:57:35
Mensagens: 52
Offline

Olá, analise o seguinte cenário, tenho uma classe Abstrata Pessoa e tenho N classes que extendem ela, como cliente, fornecedor, etc... como segue abaixo:



Note que as classes estão em tabelas separadas, usando DAO generico estou montando a parte de pesquisa com critéria, eu gostaria de informar ao critéria qual classe utilizar, estou passando um cliente mas mesmo assim a consulta me retorna fornecedores também.



Utilizando o ScannerJPAEntity reparei que existe uma propriedade dentro do Filter chamada de "Representation class" e ele seta Cliente.class. Alguma dica ?

This message was edited 2 times. Last update was at 03/02/2012 09:47:02

drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Qual o problema em postar códigos e colocar entre as tags [code]

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
cristianovieira
Debugger

Membro desde: 10/03/2011 15:57:35
Mensagens: 52
Offline

O drsmachado peço desculpas pela postagem dos codigos sem a tag em questão.
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

cristianovieira wrote:O drsmachado peço desculpas pela postagem dos codigos sem a tag em questão.

Então, por gentileza, corrija o tópico.
Há muitos foristas que não respondem quando a formatação está errada.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
jakefrog
GUJ Expert
[Avatar]

Membro desde: 22/01/2007 22:00:53
Mensagens: 4191
Offline

oq o drsmachado falou é verdade.

Eu mesmo, pulo fora.

Só vim falar uma coisa aqui... Eu não consegui entender qual a sua dúvida. [=

Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]

SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)

Vamos em frente que atrás vem gente!
cristianovieira
Debugger

Membro desde: 10/03/2011 15:57:35
Mensagens: 52
Offline

OK os proximos tópicos colocarei o code, ja consegui resolver o problema. Obrigado.
alandiniz
JavaEvangelist
[Avatar]

Membro desde: 14/03/2010 20:06:59
Mensagens: 315
Localização: Cianorte
Online

cristianovieira se for possível edite o tópico

se for possível também coloque qual foi seu problema e solução...


Na hora da ajuda o pessoal vem pedir correndo, na hora de postar as respostas os cara pula fora..
[Email] [WWW] [MSN]
cristianovieira
Debugger

Membro desde: 10/03/2011 15:57:35
Mensagens: 52
Offline

Caros, ninguém está pulando fora de nada, não postei a solução por que recebi postagens dizendo que não entenderam a duvida, se não conseguiram entender a duvida provavelmente não iriam entender a solução. Pois bem, venho por meio deste remontar o cenário postar a duvida a solução:

Classes
Pessoa (Abstrata)
cliente (extends Pessoa)
fornecedor (extends Pessoa)

Como estou usando uma estrutura de DAO generico toda e qualquer classe referente a DAO, BO e CONTROLADOR tem a assinatura setando para PESSOA como segue abaixo:



Ou seja, mesmo que no método de consulta eu receber Pessoa e passar um Cliente la na BASEDAO ele identificaria a classe de persistencia via reflection sendo uma pessoa e não um cliente devido a assinatura das classes. Pois bem, ao invés de modificar a estrutura que ja está pronta eu apenas modifiquei o método de consulta da BASEDAO (SuperClass de todas as classes DAO), coloquei o parametro do tipo CLASS então com a modificação ficou da seguinte forma:



O metodo antigo utilizava uma variavel global que era obtida via reflection no construtor da BASEDAO.
É isso pessoal. Obrigado e desculpem o transtorno.






 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team