Вы можете добавить Spring и Hibernate в ваше существующее приложение (в конце концов, это всего лишь куча jar-файлов), хотя я бы не советовал делать это.и Hibernate будет конфликтовать, так как EJB 2.1 не имеет стандартного JPA и использует старый язык запросов EJB.
Для устойчивости я бы предложил использовать один или другой, а не смешивать их.Если у вас есть значительное количество кода доступа к базе данных, написанного с использованием EJB 2.1, избегайте введения Hibernate в свой микс.Это будет беспорядок.Если вы просто используете JDBC, то я думаю, что Hibernate вполне подойдет.
Что касается Spring, так как это фреймворк, просто добавить «Spring» в ваше приложение не так уж просто.Весна огромна, и вы должны спросить себя, каковы будут преимущества.Какие части вы хотите использовать?Просто внедрение зависимости?Слои абстракции, которых нет в EJB 2.1?Не просто.
Итог: внедрение Spring и Hibernate в ваше приложение выполнимо, хотя это будет грязный, болезненный и длительный процесс без серьезных соображений, особенно если ваше приложение велико.