繁体   English   中英

Spring CrudRepository无法正常工作的保存和删除操作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM