有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring CrudePository不工作保存和删除操作

在春季,crudepository findAll()操作可以很好地从数据库中获取数据,但在保存、更新和;删除它不起作用

员工服务。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);
        }

    }

雇员。java

@Repository
public interface EmployeeRepo<T, ID extends Serializable> extends CrudRepository<Employee, Long> {

    List<Employee> findAll();


}

共 (1) 个答案

  1. # 1 楼答案

    正如谢尔盖所指出的,你的EmployeeRepo有一个错误的定义

    试试这个

    @Repository
    public interface EmployeeRepo extends CrudRepository<Employee, Long> {
        List<Employee> findAll();
    }
    

    另外,您的deleteEmployee()方法采用int,而它应该采用Long作为参数

    @Transactional
    public void deleteEmployee(Long id) {
        employeeRepoI.delete(id);
    }