java - Spring Data Rest 嵌套属性排序与 JsonUnwrapped
问题描述
所以,我有这个类,使用@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
. 按照这个例子。
推荐阅读
- java - RX Java 一个可流动的所有元素都达到一定的条件
- javascript - 如何返回 string[] 而不是 Observable
在打字稿中 - azure - 通过 Terraform 创建 Azure 自动化启动/停止解决方案
- excel - 如何仅将单元格值复制到其他工作表中的另一个单元格
- php - PHPSpreadsheet xls保存
- r - 如何更改 spark.r.backendConnectionTimeout 值?
- r - R 检查包:优化 DLL 的构建和检查方式
- angular - 如何在我的 Ionic 3 Angular 应用程序中禁用按钮单击,直到 toast 消息被忽略?
- sql - PostgreSQL fdw 性能问题
- c - 如果输入非整数,程序将无限循环,并且不接受复数输入