I want to realise a java class, based on generic interface. I got error class GroupDaoImpl must be declared as abstract or implement abstract method update()
What i do wrong?
My interface
public interface EntitiesDao<T> {
void add(List<?> entity);
List<T> getList();
void update(T entity);
T findById(Long entityId);
void delete(Long entityId);
}
My class
@Repository
public class GroupDaoImpl implements EntitiesDao {
@PersistenceContext
private EntityManager em;
@Override
public void add(Group group) {
em.persist(group);
}
@Override
public List<Group> getGroupsList() {
CriteriaQuery<Group> criteriaQuery = em.getCriteriaBuilder().createQuery(Group.class);
Root<Group> root = criteriaQuery.from(Group.class);
return em.createQuery(criteriaQuery).getResultList();
}
@Override
public void update(Group group) {
em.merge(group);
}
@Override
public Group findById(Long groupId) {
Group group = em.find(Group.class, groupId);
if (group == null) {
throw new EntityNotFoundException("Группа с ID = " + groupId + " не найдена");
}
return group;
}
//удаляет сущность по id
@Override
public void delete(Long groupId) {
Group group = em.find(Group.class, groupId);
if (group != null) em.remove(group);
else throw new EntityNotFoundException("Группа с ID = " + groupId + " не найдена");
}
public void addStudent(Student student){}
}