当前位置: 首页 > 知识库问答 >
问题:

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

宇文育
2023-03-14
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);
    }

}

当我调用服务时,它会给出以下错误:-

我已经基于相同的设计模式构建了REST API,它对我来说工作得很好。我没有得到的东西,为什么它说“没有财产日期找到类型现金流!”?实体中没有日期属性。我尝试删除数据库并重新启动,但没有成功。我错过了什么?

共有1个答案

沃阳曜
2023-03-14

stracktrace告诉您问题是什么

at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:293) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE] at 
org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:276) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE] at
 org.springframework.data.jpa.repository.query.QueryUtils.toJpaOrder(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 

这清楚地表明,当生成ordering子句时,它会在未知属性上中断。排序是基于您在控制器中构造的传入pageable来完成的。构造依赖于传入的请求参数sortby,该参数的默认值为date

现在,当参数不存在时,将使用该值,因为您的实体没有date属性,它将中断。

 类似资料:
  • 在尝试创建一对多(以及多对一)关系时,我遇到以下错误: 以下是完整的故事。目前在这些课程中,我有以下几点: LoginUser.java 用户角色。JAVA 用户角色存储。JAVA 开始atabase.java 我得到的全部错误是: 我不完全确定在哪里或为什么它试图找到一个属性的id时,我显然已经设置了所有类型的UserRole。

  • 您好,我正在建立一个动物园微服务,包括动物、员工、客户和价格表。我的动物微服务可以工作,但在我的员工微服务中,我遇到了一个错误,即没有为类型“EmployeeModel”找到属性“name”。在问这个问题之前,我已经在网上搜索了几个小时,还有一些类似的问题。我在模型中没有“名字”employee_name,我只是感到困惑,不知道如何修复它。任何指导/建议/信息将不胜感激:)第一次发布,所以我希望我

  • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

  • 问题内容: 我尝试从协会ManyToMany中调出数据,但是我不能,这是我的代码。 实体产品: 实体终端: 类别:模块JPADao 类别:ModuleService main-flow.xml file.xhtml 我无法获得几何的价值;我得到这个错误: 问题答案: javax.el.PropertyNotFoundException:在类型org.hibernate.collection.int

  • 我得到了这个错误,我不知道问题可能在哪里。“userid”列位于数据库和bean中。有人知道吗?

  • 我在Spring网站上跟踪这个SpringBoot演示,学习如何创建一个接受上传的文件。我收到一条错误消息: 我试图通过向FileUploadController添加注释来修复它。 我已尝试将以下依赖项添加到build.gradle 注意:我不想将数据库连接到此演示项目。这个演示确认它不是在这个演示中尝试连接数据库,而是在生产环境中尝试连接数据库。 我尝试在Storage Service接口上方添