создайте класс Abstract
public abstract class AbstractDaoImpl<E,F> extends HibernateDaoSupport{
public abstract Class<E> getEntityType();
public void update(Object updateObject) throws DAOException {
try {
getHibernateTemplate().saveOrUpdate(updateObject);
getHibernateTemplate().flush();
}catch(Exception ex){
logger.error("Error updating attachment: " + ex.getMessage());
throw new DAOException(ex.getMessage(),Code.DAO_EXCEPTION);
}finally {}
//To find by ID
@SuppressWarnings("unchecked")
@Override
public E retrieveSingleMatch(F id) {
return (E) getHibernateTemplate().get(getEntityType(), (Serializable) id);
}
}
и реализации Dao
public class StudentDaoImpl<Student,String> extends AbstractDaoImpli implements MyDao {
@SuppressWarnings("unchecked")
public Class getEntityType() {
return Student.class;
}
}
Ваш код обслуживания будет
studentDao.update(anyDomainObject);
Student student = studentDao.retrieveSingleMatch(studentId);
в зависимости от вашего объекта,