You can add Spring and Hibernate to your existing application (after all, they're just a bunch of jar files), although I wouldn't really recommend doing so.
First of all, EJB 2.1 and Hibernate will clash since EJB 2.1 doesn't have standard JPA and uses the old EJB query language.
For persistence, I'd suggest using one or other and not mixing them. If you have significant amount of database access code written using EJB 2.1, then avoid introducing Hibernate into your mix. It will be a mess. If you're just using JDBC, then I guess Hibernate could be a nice fit.
As for Spring, since it's a framework, it's not really trivial to just "add Spring" to your application. Spring is huge and you should ask yourself what would be the benefits. Which parts do you want to use? Just dependency injection? Abstraction layers that aren't present in EJB 2.1? Not easy.
Bottom line: introducing Spring and Hibernate to your application is doable, although it's gonna be a messy, painful and time consuming endaveour without serious considerations, especially if your application is large.