This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I have addressed this question here very recently. Might be worth your while to check a few previous threads.
I did do a comparison in the EJB 3.0/Spring 2.0 time frame, but it was only a talk, not an article. By far the best written analysis is by Rod Coffin: http://www.devx.com/Java/Article/32447. Rod deliberately does not make any absolute statements about which technology is "superior". In fact neither do I, although my recommendations are more concrete: http://phillyjug.jsync.com/meetings/ejb3springhibernate-comparison-by-reza-rahman. As such I think you can easily look through these and incorporate the changes in Spring 2.5. The major changes in Spring 2.5 were slighly better annotation support, better JPA support and XML schema based configuration. In my opinion, these changes do not alter the overall conclusions for either my or Rod's analysis. Also, it is useful to throw Seam into the mix at this point with EJB 3.
If there is sufficient demand, I can certainly update the analysis to cover Spring 3.0, EJB 3.1, WebBeans and Java EE 6. However, truth be told, I'd rather prefer someone like yourself would do an updated analysis and publish their findings independently. I can help you on a one-on-one basis as an technology advisor if desired.
Hope it helps,
Independent Consultant — Author, EJB 3 in Action — Expert Group Member, Java EE 6 and EJB 3.1