Апгрейд проекта до CUBA 6.9.12

Коллеги, добрый день

Обновляю проект с версии 6.8 до версии 6.9 (в планах до 6.10). В связи с чем к вам несколько вопросов:

  1. как целесообразнее запланировать работу? сначала обновить до 6.9 или сразу перескочить на 6.10? На данный момент система функционирует на 6.8.19
  2. Есть ли мануал? Пока придумал только смотреть на Release Notes 6.9 и метод проб и ошибок
  3. Конкретный вопрос - обратил внимание что на версии 6.9.12 в бибилиотеке cuba-core изменился тип возвращаемого значения метода com.haulmont.cuba.core.EntityManager#createNativeQuery(java.lang.String, java.lang.Class)
    Раньше он был просто типизированный, теперь типизация ограничивается T extends Entity
    В коде проекта есть несколько мест, где результат выполнения этого метода приводится к Long или UUID. Есть ли ad hoc как это обойти, кроме того, чтобы, получив коллекцию Entity, через стрим вытаскивать оттуда коллекцию UUID или использовать нетипизированный EntityManager#createNativeQuery(java.lang.String) и просто кастовать на нужный мне тип данных?

Заранее спасибо

Добрый день,

  1. Лучше сразу обновляйтесь на 6.10, разница между этими версиями невелика. А еще лучше сразу на 7.2, но там объем усилий по обновлению будет намного больше.

  2. Смотрите Release Notes, выделяете для себя важные моменты. Затем переключаете версию с помощью Studio, затем исправляете компиляцию, делаете прочие возможные исправления. И затем потребуется функциональное тестирование вашего приложения на предмет возможных регрессий…

  3. Использовать нетипизированый метод и приводить тип данных к нужному.

Александр, спасибо!

Пока реальная цель стоит обновиться до 6.10.

Скажите еще пожалуйста, если у меня в проекте есть внешний модуль, который тоже является проектом CUBA 6.8.6 (им занимается другая команда) и подключается к моему проекту как jar-библиотека, его тоже нужно апгрейдить?

да, обязательно, все подключаемые как compile зависимость модули или аддоны должны использовать одну и ту же версию CUBA.

1 симпатия