java - Spring Data REST:无法按 LocalDateTime 字段排序
问题描述
我正在尝试使用PagingAndSortingRepository
扩展接口对 get 查询的结果进行排序,在我尝试按 type 的字段排序之前,一切正常LocalDateTime
。
我检查了日志,当我使用这个字段时,查询只是忽略排序并且没有任何 order by 子句。
你可以在 GitHub 上找到演示。
代码
模型:@Entity
@Table(name = "simple_users")
@DynamicInsert
@DynamicUpdate
public class SimpleUser implements Serializable
{
private static final long serialVersionUID = 1L;
// Columns
protected Long id;
protected String username;
protected LocalDateTime createdAt;
//...
// Constructors
public SimpleUser() { /** Default copy constructor */ }
//...
// Getters
@Id
@Column(name = "id", updatable = false)
@JsonProperty("id")
public Long getId () { return this.id; }
@Column(name = "username")
@JsonProperty("username")
public String getUsername () { return this.username; }
@Column(name = "created_at")
@JsonProperty("created_at")
public LocalDateTime getCreatedAt () { return this.createdAt; }
//...
}
界面:
@RepositoryRestResource(collectionResourceRel = "simple-users", path = "simple-users")
public interface SimpleUserInterface
extends PagingAndSortingRepository<SimpleUser, Long>
{}
网址:
http://localhost:8080/simple-users?page=0&size=10&sort=created_at,desc
更新1:
我已将JsonProperty
字段名称从更改created_at
为jjaa
(任意名称),问题已解决;但是我更改了它jj_aa
(中间有下划线的任意名称),问题又出现了。用下划线和排序命名json属性似乎有问题。
如果有人能告诉我为什么会发生这种情况以及最好如何解决这个问题,我将不胜感激,因为更改这么多名称以避免下划线意味着对后端和前端进行大量重构。
解决方案
推荐阅读
- r - R-Model 在 Azure Data Bricks 中失败并出现以下错误,任何人之前都遇到过这个问题。它运行良好,直到上周
- amazon-web-services - 是否可以在公共可访问性为否的情况下连接 VPC 外部的 AWS RDS 实例?
- tkinter - tkinter 中的绑定问题
- ruby-on-rails - Ruby 2.5 弃用消息
- php - 如何在 php api 中获取如下所示的 json
- python - 如何在课堂上使用__getitem__,同时保持打字/mypy快乐
- activemq-artemis - 具有静态发现和共享存储设置的服务器实例之间的同步
- php - 当我尝试使用 4G 连接访问我的网站时出现空白页面(ssl 错误)?
- python - 无法在 pandas 数据框中执行算术和排序操作
- unity3d - Unity 2020.1.0b12.3931 - 场景 2 中的对象在场景 1 中可见