Querydsl ensemble mode de lecture dans une requête

J'ai une situation où une Carte entité a une clé étrangère d'une Personne.

public class Card  implements java.io.Serializable {
 private String cardid;    
 private Person person;

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="USERID")
public Person getPerson() {
    return this.person;
}
}

La valeur par défaut type d'extraction pour la personne qui est PARESSEUX. Puis-je indiquer le type d'extraction à la HÂTE dans une requête:

QCard qCard = QCard.card;
JPQLQuery query = getQuery().from(qCard);
query.list(qCard);

Merci pour toute aide.

Vous pouvez simplement appeler le getPerson() méthode pour charger la Personne de l'objet avant que votre objet est détachée, vous avez une bonne raison de changer le type d'extraction ?
La raison pour laquelle je veux changer le type d'extraction est d'optimiser la requête. J'ai un cas où j'ai besoin de charger plusieurs clés étrangères des objets. Il semble fonctionner lente.
Si vous êtes à la recherche pour le FETCH mot clé de JPAQL dans QueryDSL. Est-ce cela que vous cherchez ? groups.google.com/forum/#!msg/querydsl/Geexg_eN2yA/iREXf-DM0nwJ
Il semble être ce que je suis à la recherche pour. Je vais faire un essai et écrire les résultats. Si je peux juste ajouter quelque chose comme cela pour chaque clé étrangère objet désireux de charge: de la requête".innerJoin(qCard.personne).fetch();"
J'ai ajouté de la requête".innerJoin(qCard.cmsPerson).fetchAll ();", mais il reste paresseux récupère l'objet personne.

OriginalL'auteur Marko | 2014-05-13