我有一个非常简单的Spring Boot应用程序,它由Order
和JpaRepository
@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的方法,事后看来这很明显,因为这些字段是私有的。