Esta dúvida eu tenho apenas a solução parcial, daí venho perguntar isto a vocês:
usando por base os exemplos na wikipedia[1], suponha uma query simples:
Se observarem a classe java do exemplo, tem um @ManyToMany em Author e poderei trazer a lista de entidades Book; caso eu não deseje esta lista, eu poderia setar nulo nela, ou mesmo ignora-la.
Entretanto, soluções que envolvam “serializadores”, em especial o JAXB servindo o JAX-WS ou JAX-RS irão visitar todos os atributos das entidades a serem retornadas pelo serviço, podendo materializar assim uma grande e desnecessária quantidade de dados em memória ou mesmo pior, ciclos que o JAXB pode não resolver por você.
Atualmente minha defesa consiste em dar new[2] na entidade usando um construtor especialmente preparado já na query, que desligue “manualmente” o que não desejo retornar.
O que procuro é justamente uma instrução do jpql que faça isso sem a necessidade deste construtor.
Desde já obrigado.
[1]http://en.wikipedia.org/w/index.php?title=Java_Persistence_Query_Language&oldid=439042038
[2]http://download.oracle.com/javaee/6/tutorial/doc/bnbuf.html