所以,我有这个类,使用@EmbeddedId
和@JsonUnwrapped
批注
@Entity
class Order {
@EmbeddedId @JsonUnwrapped
private OrderPK pk;
private String field1;
private String field2;
//...getters, setters
}
这是主键类
@Embeddable
class OrderPK implements Serializable {
private String orderNumber;
private String company;
//...getters, setters
}
我想让Spring Data REST排序将PK类中的字段视为顶级而不是嵌套的。基本上,我要使用一个:
.../orders?sort=orderNumber,desc
,而不是.../orders?sort=pk.orderNumber,desc
。我在文档中找不到任何方法可以做到这一点。 最佳答案
如果您正在使用@EmbeddedId
选项来实现您的复合键,那么您将无法再实现目标。原因是EmbeddedId类的属性不能作为平面参数取出。
请注意,@JsonUnwrapped
并非旨在执行该任务。
您可以使用以下选项代替@EmbeddedId来实现您的目标。
使用@IdClass
。请遵循此example。