Ola galera, é meu primeiro post aqui…
Estou com um problema um pouco diferente, creio eu…
“Varri” a net toda atrás de uma solução, e tudo que consegui foi saber que é possivel fazer a HQL, mas exemplos que são bons, nada.
A questão é a seguinte:
Consigo fazer inner joins normalmente em EList’s, mas nao em FeatureMap’s…
Aqui esta a pagina explicando pra que serve esse FeatureMap:
http://ejb.elver.org/hibernate/featuremap.html
No final dela, o autor diz o seguinte:
Advanced querying possible: foreign keys are created in the entry table for references to other classes (tables). This means that it is possible to join tables using advanced SQL or HQL queries.
Ou seja, em HQL’s avançadas é possivel usar esses FeatureMap’s. A questão é, como?
Será que vou ter que fazer SQL’s ao invés de HQL’s?
Aqui está a consulta que estou tentando fazer:
Query query = session.createQuery(
"select distinct mp1 " +
"from Mpeg7Type1 as mp1 " +
"join mp1.description as tmp1 " +
"join tmp1.semantics as tmp2 " +
"join tmp2.group as tmp3 " +
"where tmp1.class = SemanticDescriptionType " +
“and tmp2.class = SemanticType”);
mp1.description e tmp1.semantics são EList’s com polimorfismo, e por isso o uso de tmp1.class e tmp2.class.
tmp1.semantics resulta em SemanticType, e nessa classe há o FeatureMap group, só que eu nao consigo continuar a query com “join tmp3.xxxx as tmp4”… (se fosse EList, seria fácil continuar)
Alguém tem uma luz quanto a isso?
Grato!