Bien al final lo he metido todo en un .jar y así funciona, pero sigo pensando que tiene que haber algo más.
He encontrado esto sobre buenas prácticas con hibernate:
Cita: Considere abstraer su lógica empresarial de Hibernate:
Oculte el código de acceso a datos de Hibernate detrás de una interfaz. Combine los patrones DAO y sesión local de hilo. Incluso puede hacer algunas clases persistentes por medio de JDBC escrito a mano, asociadas a Hibernate por medio de un UserType. Sin embargo, este consejo va para las aplicaciones "suficientemente grandes". No es apropiado para una aplicación con cinco tablas.
Mi actual aplicación sólo tiene 1 tabla, pero realmente estoy preparando eclipse para realizar una aplicación bastante más grande, creo que esto es a lo que se refiere mi jefe...pero no sé como