Hola, pues, te bajas el strus de
http://jakarta.apache.org y luego el Hibernate de
http://www.hibernate.org/.
Recuerda que Struts es un framework de aplicaciones web, es decir te debe facilitar la labor de desarrollo y de mantenimiento de tu aplicación web. Si por el contrario tu aplicación es más simple y no requiere tanta complejidad en la arquitectura, puedas no requerirlo, y usar un MVC simple tuyo.
El caso de Hibernate es parecido. Es un framework de persistencia. Si realmente has decidido realizar tu acceso a base de datos a través de objetos mapeados a tus tablas realacionales, entonces creo que Hibernate es la alternativa más usada hoy en día. Sin embargo esto agrega algo mas de complejidad, y te limita en algunas cosas. Evalua bien si realmente tu aplicación lo necesita, sino utiliza clases java simples implementando un patrón DAO.