Spring boot 在Springboot应用程序中找不到类型cashflow的属性日期
我正在写一个关于现金流实体的rest服务,包括实体、存储库、服务、控制器设计模式 实体:-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
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