[英]Spring CrudRepository not working save & delete operation
在春季,CrudRepository findAll()操作可以很好地从数据库中获取数据,但是在保存,更新和删除的情况下使用相同的配置无法正常工作。
EmployeeService.java
@Service
public class EmployeeService {
@Autowired
private EmployeeRepo employeeRepoI;
@Transactional
public List<Employee> getAllEmployee() {
return (List<Employee>) employeeRepoI.findAll();
}
@Transactional
public Employee getEmployee(int id) {
return (Employee) employeeRepoI.findOne(id);
}
@Transactional
public Employee addEmployee(Employee employee) {
return (Employee) employeeRepoI.save(employee);
}
@Transactional
public Employee updateEmployee(Employee employee) {
return (Employee) employeeRepoI.save(employee);
}
@Transactional
public void deleteEmployee(int id) {
employeeRepoI.delete(id);
}
}
EmployeeRapo.java
@Repository
public interface EmployeeRepo<T, ID extends Serializable> extends CrudRepository<Employee, Long> {
List<Employee> findAll();
}
您具有长类型的CrudRepository和原始int的deleteEmployee。 此值应匹配。
正如@Sergey指出的那样,您的EmployeeRepo
那里的定义有误
尝试这个
@Repository
public interface EmployeeRepo extends CrudRepository<Employee, Long> {
List<Employee> findAll();
}
同样,您的deleteEmployee()
方法采用int
而应采用Long
作为参数。
@Transactional
public void deleteEmployee(Long id) {
employeeRepoI.delete(id);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.