Le pouvoir ou le péril de JPQL : utiliser SELECT NEW pour créer des objets
Le domaine du langage de requête de persistance Java (JPQL) offre une fonctionnalité puissante connue comme SELECT NEW, permettant la création de nouveaux objets dans une instruction select. Au lieu de récupérer les instances gérées par le contexte de persistance, cette construction facilite la manipulation des objets transitoires. Cependant, la question demeure : SELECT NEW est-il un outil à adopter ou à éviter ?
Etreintes justifiées
Selon la spécification JPA EJB 3.0, SELECT NEW sert des objectifs spécifiques :
Un exemple serait être une requête récupérant les détails du client sans l'entité client complète :
SELECT NEW com.acme.example.CustomerDetails(c.id, c.status, o.count) FROM Customer c JOIN c.orders o WHERE o.count > 100
Quand éviter
Bien que SELECT NEW offre des commodités, il ne doit pas être utilisé sans discernement. Son utilisation prudente est limitée aux scénarios dans lesquels :
Adopter les bonnes pratiques
Loin de décourager l'utilisation de SELECT NEW, il est crucial de l'adopter tout en adhérant aux bonnes pratiques :
Conclusion
SELECT NEW est un outil précieux lorsqu'il est appliqué de manière appropriée. En profitant de ses avantages tout en adhérant aux meilleures pratiques, les développeurs peuvent tirer parti de la puissance de JPQL tout en évitant les pièges. Que SELECT NEW doive être adopté ou évité est donc une question d’application judicieuse, reconnaissant son utilité dans des contextes spécifiques sans succomber à une confiance excessive.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!