Рабочий процесс включает в себя несколько зависимых этапов:
- Проверка соответствия клиента критериям участия
- Продукт → План → Загрузка иерархии участников
- Премии на основе правил расчет
- Загрузка страховых взносов на основе возраста
- Перестрахование или проверка лимитов
- Окончательное агрегирование страховых взносов
Пример структуры объекта:
Код: Выделить всё
@Entity
public class Product {
@Id
private Long id;
@OneToMany(mappedBy="product")
private List
plans;
}
@Entity
public class Plan {
@Id
private Long id;
@ManyToOne
private Product product;
@OneToMany(mappedBy="plan")
private List riders;
}
@Entity
public class Rider {
@Id
private Long id;
@ManyToOne
private Plan plan;
}
Код: Выделить всё
@Repository
public interface ProductRepository extends JpaRepository
{
@EntityGraph(attributePaths = {"plans", "plans.riders"})
Optional findById(Long id);
}
Вместо этого я хочу, чтобы Hibernate извлекал всю иерархию в одном запросе, сокращая время ответа API котировок до менее 800 мс, сохраняя при этом сопоставления сущностей JPA.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ependent-v
Мобильная версия