我有一个非常简单的 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 的是方法,事后看来这似乎是显而易见的,因为这些字段是私有的。