Я участвую в проекте с открытым исходным кодом Java, который интегрируется с Hibernate. Я довольно новичок в сцене с открытым исходным кодом (как участник) и хотел бы посоветовать, как управлять зависимостями.
Каковы лучшие стратегии / подходы для управления изменениями в кодовой базе Hibernate в нашем проекте?
Например, глубоко в нашем коде находится следующая строка:
ResultTransformer transformer = new PassThroughResultTransformer();
Конструктор по умолчанию здесь вызывает у нас проблемы:
- Это нормально в Hibernate 3.2.x,
- В Hibernate 3.3.x он был помечен как устаревший, и был добавлен статический член:
PassThroughResultTransformer.INSTANCE
- В Hibernate 3.4 был удален конструктор по умолчанию.
Существует четкая ветвь, в которой мы не можем поддерживать Hibernate 3.2 и Hibernate 3.4 в одном классе.
Каков наилучший способ управления такими проблемами в нашей кодовой базе?
Создание проекта для каждой версии Hibernate кажется кошмаром, особенно в том случае, если мы добавляем собственные выпуски функций.