Performance: Why JPA matters for database access
MEDIUM IMPACT
This concept affects how efficiently the application interacts with the database, impacting response time and server load.
@Query("SELECT o FROM Order o JOIN FETCH o.customer")
List<Order> orders = orderRepository.findAllWithCustomers();List<Order> orders = orderRepository.findAll();
for (Order order : orders) {
Customer customer = order.getCustomer(); // triggers separate query per order
}| Pattern | Database Queries | Data Volume | Server Load | Verdict |
|---|---|---|---|---|
| N+1 Query Pattern | N+1 queries | High redundant data | High due to many queries | [X] Bad |
| Fetch Join Query | 1 query | Minimal necessary data | Low due to optimized query | [OK] Good |