Junior — Middle
Kuidas saab JPA-s kasutada Entity Graphi päringute optimeerimiseks?
sobes.tech AI
Vastus AI-lt
Entity Graph JPA-s võimaldab määrata, millised seotud entiteedid tuleb koos põhientiteediga laadida, et vältida N+1 päringute probleemi ja optimeerida jõudlust.
Saate luua NamedEntityGraph või dünaamilise EntityGraph, kus selgelt näidatakse atribuudid eager laadimiseks (fetch). Näiteks:
EntityGraph<User> graph = entityManager.createEntityGraph(User.class);
graph.addAttributeNodes("address", "orders");
Map<String, Object> hints = new HashMap<>();
hints.put("javax.persistence.fetchgraph", graph);
User user = entityManager.find(User.class, userId, hints);
Nii laaditakse kasutaja laadimisel kohe kaasa seotud aadress ja tellimused, mis vähendab päringute arvu andmebaasile.