Hola
Goomba !
Recuerda que en Java toda clase hereda de la clase base Object, así que puedes hacer los métodos de tu clase tan genéricos como tu lo desees.
Te pongo de ejemplo este método:
Código:
public Collection<Object> findByCriteria(final Criteria criteria) {
return getDAOSupport().findByCriteria(criteria);
}
El método me devuelve una colección de objetos, deberás hacer el casting al tipo de dato en específico que utilizarás.
También si ves que hay duplicación de código, delega esa responsabilidad a otra clase y reutilízala ya sea por
composición o
herencia.
Un saludo y suerte !