0
我創建了一個util的方法:JPA動態EntityGraph和子圖
public <T> Optional<T> fetch(Class<T> clazz, Object id, String... relations) {
EntityGraph<T> graph = entityManager.createEntityGraph(clazz);
Stream.of(relations).forEach(graph::addSubgraph);
return Optional.ofNullable(entityManager.find(clazz, id, Collections.singletonMap("javax.persistence.loadgraph", graph)));
}
所以,如果,例如,如果User
有偷懶orders
和wallets
,我可以這樣做:
Optional<User> user = fetch(User.class, 1, "orders", "wallets");
但我不知道如何拿orders
或wallets
懶惰的集合。這將是greate,如果我打電話給這樣的方法:
Optional<User> user = fetch(User.class, 1, "orders", "orders.products", "wallet");
如何擴展方法來實現這一點?