Estou desenvolvendo uma API com código semelhante ao da aula 3 - do curso de Spring Boot parte 1. Mas, ao inicializar o Spring retorna: Error creating bean with name 'cursoRepository': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Not a managed type: class br.com.qualitsys.model.Curso.
Estou usando o banco de dados MySQL. Segue o controller:
package br.com.qualitsys.scpe.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import br.com.qualitsys.model.Curso;
import br.com.qualitsys.scpe.controller.dto.CursoDto;
import br.com.qualitsys.scpe.repository.CursoRepository;
@RestController
public class CursosController {
@Autowired
private CursoRepository cursoRepository;
@RequestMapping("/cursos")
public List<CursoDto> listaCursos() {
List<Curso> cursos = cursoRepository.findAll();
return converter(cursos);
}
//metodo que recebe lista de cursos e retorna lista de cursoDto
public static List<CursoDto> converter(List<Curso> listaCursos ) {
List<CursoDto> listaCursosDto = new ArrayList<CursoDto>();
int n = listaCursos.size();
for (int i = 0; i < n; i++) {
CursoDto c = new CursoDto(listaCursos.get(i).getIdCurso(), listaCursos.get(i).getNomeCurso());
listaCursosDto.add(c);
}
return listaCursosDto;
}
}
package br.com.qualitsys.model;
import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;
@Entity public class Curso { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer idCurso; private String nomeCurso; private String timestampCurso; private String datetimeCurso;
public Curso() {
}
public Integer getIdCurso() {
return idCurso;
}
public void setIdCurso(Integer idCurso) {
this.idCurso = idCurso;
}
public String getNomeCurso() {
return nomeCurso;
}
public void setNomeCurso(String nomeCurso) {
this.nomeCurso = nomeCurso;
}
public String getTimestampCurso() {
return timestampCurso;
}
public void setTimestampCurso(String timestampCurso) {
this.timestampCurso = timestampCurso;
}
public String getDatetimeCurso() {
return datetimeCurso;
}
public void setDatetimeCurso(String datetimeCurso) {
this.datetimeCurso = datetimeCurso;
}
}