Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
é possivel fazer um "eager escondido" através da query sql:
SELECT t FROM Language t fetch all properties WHERE t.languageid = 1
Mas infelizmente... não foi buscar todos os objectos associados (o que com o fetch type a EAGER funciona).
Não quero declarar o FetchType a Eager, pensei que esta solução me ia ajudar... Alguem tem alguma ideia do que pode estar mal? Ou o que estou a tentar fazer não é de facto possivel?
é possivel fazer um "eager escondido" através da query sql:
SELECT t FROM Language t fetch all properties WHERE t.languageid = 1
Mas infelizmente... não foi buscar todos os objectos associados (o que com o fetch type a EAGER funciona).
Não quero declarar o FetchType a Eager, pensei que esta solução me ia ajudar... Alguem tem alguma ideia do que pode estar mal? Ou o que estou a tentar fazer não é de facto possivel?
Abraço a todos!
Sakana,
É possível fazer isso sim.... Veja exemplo abaixo:
Query:
@braços,
Cleiton _________________Cleiton Luiz Siqueira
Bacharel em Ciência da Computação
A minha ideia é fazer um método genérico que permita fazer isso, ou seja, que não seja preciso o conhecimento das relações oneToMany na altura em que a query é produzida.
(A query é contruida através de um método que tem como argumentos a class e a primary key.)
A Solução do Fetch All properties parecia perfeita, só é pena não funcionar como eu pretendo, a sua solução... obriga ao conhecimento da estrutura da entidade envolvida na query...
Alguem sabe a razão pela qual o fetch all properties não tem o comportamento que eu desejava?
A Solução do Fetch All properties parecia perfeita, só é pena não funcionar como eu pretendo, a sua solução... obriga ao conhecimento da estrutura da entidade envolvida na query...
Fetch All properties é uma solução no mínimo perigosa. Imagine a seguinte classe:
Um fetch all properties vai implicar em um cruzamento que é impraticável mesmo para um conjunto pequeno de dados. Em geral, para relacionamentos *ToMany, não é bom realizar mais do que um join fetch. Minha experiência com o Hibernate é: fuja de métodos muito genéricos que criam consultas e são usados em todo canto. Eles geralmente são um problema.
Ok Obrigado! Também estou a chegar a conclusão que este método é no minimo perigoso... Vou optar por utilizar um Fetch join sempre que necessário e deixar estes metodos genéricos de parte.
sakanaPosts:5
Viva pessoal,
Tenho uma entidade Resources com uma relação OneToMany com uma entidade Languages com fetchType = lazy.
Segundo li aqui:
http://www.hibernate.org/hib_docs/entitymanager/reference/en/html/queryhql.html
é possivel fazer um "eager escondido" através da query sql:
SELECT t FROM Language t fetch all properties WHERE t.languageid = 1
Mas infelizmente... não foi buscar todos os objectos associados (o que com o fetch type a EAGER funciona).
Não quero declarar o FetchType a Eager, pensei que esta solução me ia ajudar... Alguem tem alguma ideia do que pode estar mal? Ou o que estou a tentar fazer não é de facto possivel?
Abraço a todos!
ccllssPosts:96