我有一个非常简单的Spring Boot应用程序,它由OrderJpaRepository @RepositoryRestResource组成:

@Entity
public class Order {
    @Id
    @GeneratedValue
    private Long recordId;

    @Length(max = 64)
    private String orderType;
    .....
}



@RepositoryRestResource
public interface OrderRepository extends JpaRepository<Order, Long>,
    QuerydslPredicateExecutor<Order> {
}


我最近将字段orderKind更改为orderType。我确保数据库已更新。但是,在端点上,更改不适用。它仍然期望/返回orderKind

我通过清理项目,删除任何生成的源代码以及直接从命令行运行来排除任何IDE问题,但是没有运气。

也已验证,并且生成的QOrder.java也已正确定义了orderType

最佳答案

在撰写本文时,发现问题微不足道。重构字段名称时,我忘记更新该字段的getter和setter,因此它们仍然显示为:

public String getOrderKind() {
    return orderType;
}

public void setOrderKind(String orderKind) {
    this.orderType = orderKind;
}


我是Spring Boot的新手,但是我没有意识到这是定义API的方法,事后看来这很明显,因为这些字段是私有的。

08-27 09:28