Dos clases con código casi duplicado dentro de

En este momento, tengo dos clases:UserHibernateDao yTicketHibernateDao:

import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import model.dao.Dao;
import model.entity.User;

public class UserDaoHibernate extends HibernateDaoSupport implements Dao<User> {

    public User get(long id) {
        return getHibernateTemplate().get(User.class, id);
    }

    public void save(User user) {
        getHibernateTemplate().save(user);

    }

    public void remove(long id) {
        getHibernateTemplate().delete(
                getHibernateTemplate().get(User.class, id));
    }
}

y segundo

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import model.dao.Dao;
import model.entity.Ticket;

public class TicketDaoHibernate extends HibernateDaoSupport implements
        Dao<Ticket> {

    public Ticket get(long id) {

        return getHibernateTemplate().get(Ticket.class, id);

    }

    public void save(Ticket ticket) {
        getHibernateTemplate().save(ticket);
    }

    public void remove(long id) {

        getHibernateTemplate().delete(
                getHibernateTemplate().get(Ticket.class, id));

    }

    public void save(Ticket ticket) {

        getHibernateTemplate().saveOrUpdate(ticket);

    }
}

Veo que ambas clases contienen métodos e implementaciones de métodos casi iguales.

Creo que no es muy bueno. @¿Qué piensas ¿O es normal?

Respuestas a la pregunta(6)

Su respuesta a la pregunta