簡體   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