Spring boot 在Springboot应用程序中找不到类型cashflow的属性日期

Spring boot 在Springboot应用程序中找不到类型cashflow的属性日期,spring-boot,service,repository,entity,spring-restcontroller,Spring Boot,Service,Repository,Entity,Spring Restcontroller,我正在写一个关于现金流实体的rest服务,包括实体、存储库、服务、控制器设计模式 实体:- import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.I

我正在写一个关于现金流实体的rest服务,包括实体、存储库、服务、控制器设计模式

实体:-

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;

import org.hibernate.annotations.NaturalId;

@Entity
@Table(name = "cashflow")
public class Cashflow implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NaturalId
    @NotBlank
    private String entityId;

    @Column(nullable = false)
    private String companyId;

    @Column
    private boolean isDeleted = true;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getEntityId() {
        return entityId;
    }

    public void setEntityId(String entityId) {
        this.entityId = entityId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public boolean isDeleted() {
        return isDeleted;
    }

    public void setDeleted(boolean isDeleted) {
        this.isDeleted = isDeleted;
    }

}
import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface CashflowRepository extends PagingAndSortingRepository<Cashflow, Long> {
    Page<Cashflow> findAllByCompanyIdAndIsDeleted(String companyId, boolean flag, Pageable pageable);

    public Cashflow findByEntityId(String entityId);

    public List<Cashflow> findAllByEntityIdIn(List<String> entityIds);
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

@Service
public class CashflowService {

    @Autowired
    private CashflowRepository cashflowRepository;

    public Page<Cashflow> findByCompanyId(String companyId, Integer pageNo, Integer pageSize, String sortBy) {
        Pageable paging = PageRequest.of(pageNo, pageSize, Sort.by(sortBy));
        Page<Cashflow> pagedResult = cashflowRepository.findAllByCompanyIdAndIsDeleted(companyId, false, paging);
        return pagedResult;
    }
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@CrossOrigin
@RestController
public class CashflowController {

    @Autowired
    private CashflowService cashflowService;

    @GetMapping(value = "/{companyId}/settlement/cashflows")
    public Page<Cashflow> findParcels(@PathVariable("companyId") String companyId, @RequestParam(defaultValue = "0") Integer pageNo, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "date") String sortBy) {
        return cashflowService.findByCompanyId(companyId, pageNo, pageSize, sortBy);
    }

}
存储库:-

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;

import org.hibernate.annotations.NaturalId;

@Entity
@Table(name = "cashflow")
public class Cashflow implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NaturalId
    @NotBlank
    private String entityId;

    @Column(nullable = false)
    private String companyId;

    @Column
    private boolean isDeleted = true;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getEntityId() {
        return entityId;
    }

    public void setEntityId(String entityId) {
        this.entityId = entityId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public boolean isDeleted() {
        return isDeleted;
    }

    public void setDeleted(boolean isDeleted) {
        this.isDeleted = isDeleted;
    }

}
import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface CashflowRepository extends PagingAndSortingRepository<Cashflow, Long> {
    Page<Cashflow> findAllByCompanyIdAndIsDeleted(String companyId, boolean flag, Pageable pageable);

    public Cashflow findByEntityId(String entityId);

    public List<Cashflow> findAllByEntityIdIn(List<String> entityIds);
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

@Service
public class CashflowService {

    @Autowired
    private CashflowRepository cashflowRepository;

    public Page<Cashflow> findByCompanyId(String companyId, Integer pageNo, Integer pageSize, String sortBy) {
        Pageable paging = PageRequest.of(pageNo, pageSize, Sort.by(sortBy));
        Page<Cashflow> pagedResult = cashflowRepository.findAllByCompanyIdAndIsDeleted(companyId, false, paging);
        return pagedResult;
    }
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@CrossOrigin
@RestController
public class CashflowController {

    @Autowired
    private CashflowService cashflowService;

    @GetMapping(value = "/{companyId}/settlement/cashflows")
    public Page<Cashflow> findParcels(@PathVariable("companyId") String companyId, @RequestParam(defaultValue = "0") Integer pageNo, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "date") String sortBy) {
        return cashflowService.findByCompanyId(companyId, pageNo, pageSize, sortBy);
    }

}
import java.util.List;
导入org.springframework.data.domain.Page;
导入org.springframework.data.domain.Pageable;
导入org.springframework.data.repository.paging和sortingrepository;
导入org.springframework.stereotype.Repository;
@存储库
公共接口CashflowRepository扩展了分页和排序存储库{
Page findAllByCompanyIdAndIsDeleted(字符串companyId,布尔标志,可分页);
公共现金流findByEntityId(字符串entityId);
公共列表FindAllByEntityId(列表实体ID);
}
服务:-

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;

import org.hibernate.annotations.NaturalId;

@Entity
@Table(name = "cashflow")
public class Cashflow implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NaturalId
    @NotBlank
    private String entityId;

    @Column(nullable = false)
    private String companyId;

    @Column
    private boolean isDeleted = true;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getEntityId() {
        return entityId;
    }

    public void setEntityId(String entityId) {
        this.entityId = entityId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public boolean isDeleted() {
        return isDeleted;
    }

    public void setDeleted(boolean isDeleted) {
        this.isDeleted = isDeleted;
    }

}
import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface CashflowRepository extends PagingAndSortingRepository<Cashflow, Long> {
    Page<Cashflow> findAllByCompanyIdAndIsDeleted(String companyId, boolean flag, Pageable pageable);

    public Cashflow findByEntityId(String entityId);

    public List<Cashflow> findAllByEntityIdIn(List<String> entityIds);
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

@Service
public class CashflowService {

    @Autowired
    private CashflowRepository cashflowRepository;

    public Page<Cashflow> findByCompanyId(String companyId, Integer pageNo, Integer pageSize, String sortBy) {
        Pageable paging = PageRequest.of(pageNo, pageSize, Sort.by(sortBy));
        Page<Cashflow> pagedResult = cashflowRepository.findAllByCompanyIdAndIsDeleted(companyId, false, paging);
        return pagedResult;
    }
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@CrossOrigin
@RestController
public class CashflowController {

    @Autowired
    private CashflowService cashflowService;

    @GetMapping(value = "/{companyId}/settlement/cashflows")
    public Page<Cashflow> findParcels(@PathVariable("companyId") String companyId, @RequestParam(defaultValue = "0") Integer pageNo, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "date") String sortBy) {
        return cashflowService.findByCompanyId(companyId, pageNo, pageSize, sortBy);
    }

}
import org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.data.domain.Page;
导入org.springframework.data.domain.PageRequest;
导入org.springframework.data.domain.Pageable;
导入org.springframework.data.domain.Sort;
导入org.springframework.stereotype.Service;
@服务
公共类现金流服务{
@自动连线
私有现金流存储库现金流存储库;
公共页findByCompanyId(字符串companyId、整数pageNo、整数pageSize、字符串sortBy){
Pageable paging=PageRequest.of(pageNo,pageSize,Sort.by(sortBy));
Page pagedResult=cashflowRepository.FindAllByCompanyId已删除(companyId,false,分页);
返回pagedResult;
}
}
控制器:-

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;

import org.hibernate.annotations.NaturalId;

@Entity
@Table(name = "cashflow")
public class Cashflow implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NaturalId
    @NotBlank
    private String entityId;

    @Column(nullable = false)
    private String companyId;

    @Column
    private boolean isDeleted = true;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getEntityId() {
        return entityId;
    }

    public void setEntityId(String entityId) {
        this.entityId = entityId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public boolean isDeleted() {
        return isDeleted;
    }

    public void setDeleted(boolean isDeleted) {
        this.isDeleted = isDeleted;
    }

}
import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface CashflowRepository extends PagingAndSortingRepository<Cashflow, Long> {
    Page<Cashflow> findAllByCompanyIdAndIsDeleted(String companyId, boolean flag, Pageable pageable);

    public Cashflow findByEntityId(String entityId);

    public List<Cashflow> findAllByEntityIdIn(List<String> entityIds);
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

@Service
public class CashflowService {

    @Autowired
    private CashflowRepository cashflowRepository;

    public Page<Cashflow> findByCompanyId(String companyId, Integer pageNo, Integer pageSize, String sortBy) {
        Pageable paging = PageRequest.of(pageNo, pageSize, Sort.by(sortBy));
        Page<Cashflow> pagedResult = cashflowRepository.findAllByCompanyIdAndIsDeleted(companyId, false, paging);
        return pagedResult;
    }
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@CrossOrigin
@RestController
public class CashflowController {

    @Autowired
    private CashflowService cashflowService;

    @GetMapping(value = "/{companyId}/settlement/cashflows")
    public Page<Cashflow> findParcels(@PathVariable("companyId") String companyId, @RequestParam(defaultValue = "0") Integer pageNo, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "date") String sortBy) {
        return cashflowService.findByCompanyId(companyId, pageNo, pageSize, sortBy);
    }

}
import org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.data.domain.Page;
导入org.springframework.web.bind.annotation.CrossOrigin;
导入org.springframework.web.bind.annotation.GetMapping;
导入org.springframework.web.bind.annotation.PathVariable;
导入org.springframework.web.bind.annotation.RequestParam;
导入org.springframework.web.bind.annotation.RestController;
@交叉起源
@RestController
公共类现金流控制器{
@自动连线
私人现金流服务;
@GetMapping(value=“/{companyId}/结算/现金流”)
公共页面findParcels(@PathVariable(“companyId”)字符串companyId、@RequestParam(defaultValue=“0”)整数pageNo、@RequestParam(defaultValue=“10”)整数pageSize、@RequestParam(defaultValue=“date”)字符串sortBy){
返回cashflowService.findByCompanyId(companyId,pageNo,pageSize,sortBy);
}
}
当我呼叫该服务时,它给出以下错误:-

org.springframework.data.mapping.PropertyReferenceException:否 找到类型“现金流”的属性日期!在 org.springframework.data.mapping.PropertyPath.(PropertyPath.java:94) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:382) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:358) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 $0中的org.springframework.data.mapping.PropertyPath.lambda$(PropertyPath.java:311) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330) ~[na:na]at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:293) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:276) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 org.springframework.data.jpa.repository.query.QueryUtils.tojpaoorder(QueryUtils.java:565) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.QueryUtils.toOrders(QueryUtils.java:518) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:197) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:150) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:57) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:95) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 org.springframework.data.jpa.repository.query.PartTreeJpaQuery$QueryPreparer.createQuery(PartTreeJpaQuery.java:164) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.doCreateQuery(PartTreeJpaQuery.java:94) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:210) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.JpaQueryExecution$PagedExecution.doExecute(JpaQueryExecution.java:199) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:91) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:136) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:125) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:605) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]位于 org.springframework.dat