Достать объект из базы данных с большим кол-вом inner join'ов

Доброго всем времени суток. Столкнулся с проблемой при доставании объекта из базы данных. Есть такой вот объект.

public class Animal {
    private Long id;
    private String name;
    private String describe;
    private int age;
    private Set<Class<? extends AnimalHouse>> livingZone = new HashSet<>();
    private Set<ClimateZone> climateZone = new HashSet<>();
    private Set<Class<? extends Food>> foodType = new HashSet<>();

livingZone,climateZone,food, для них созданы таблицы-справочники (с уже заготовленными данными) Я имею 3 таблицы связи для связи животного и его вот этих параметров. Проблема в том, что если у меня есть несколько climateZone или других параметров, я получаю гигантский ResultSet с кучей повторяющихся данных.

SQL запрос

Плюс ко всему этому, появляется проблема, что я вижу только ID climateZone, livingZone, food. Может подскажет кто, как правильно сформировать такой SQL запрос.

пы.сы. Есть идея разбить один этот запрос на несколько маленьких, но хотелось бы один запрос иметь.


Ответы (0 шт):