Разобрать / объединить ResultSet с Hibernate - PullRequest
0 голосов
/ 03 марта 2020

До сих пор я полагался на Hibernate для автоматического создания своих сущностей, а также извлекал большую выгоду из его кэша 1-го уровня.

Теперь мне нужно извлечь сущности из нескольких процедур возврата ResultSet (s), но я sh Я все еще могу позволить hibernate иметь дело с кэшированием и созданием экземпляров для меня, поэтому мне не нужно вручную присваивать все свойства и так далее ...

Можно ли дать ResultSet и класс в Hibernate и получить обратно проанализированный / объединенный список объектов?

session.doWork(connection -> {
    try (PreparedStatement statement = connection.prepareStatement("CALL COOL_PROC")) {
        ResultSet result = statement.executeQuery();

        List<CoolEntity1> list1 = session.buildAndMerge(result, CoolEntity1.class); // <--
        statement.getMoreResults(); // next ResultSet
        List<CoolEntity2> list2 = session.buildAndMerge(result, CoolEntity2.class); // <--
    }
});

Session::buildAndMerge - это гипотетический метод.

...