当前位置: 首页 > 知识库问答 >
问题:

保存后hibernate jsonb类型进行一些排序

易星宇
2023-03-14
 @Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
private Map<String, String> businessHours;

这是一个字段,我给它设置了一些映射,比如哪些键是周日和周一,但在db保存后,我得到了周一和周日的顺序,我需要保持在周日周一的顺序下,我该如何处理?即使保存顺序是好的,就像我想要的,但在数据库中,我看到不同的顺序

共有1个答案

经国安
2023-03-14

如果希望保留对象键的顺序,则应按照Postgres文档使用JSON类型:

一般来说,大多数应用程序应该倾向于将JSON数据存储为jsonb,除非有非常特殊的需求,例如关于对象键排序的遗留假设。

Postgres在内部对存储为jsonb的数据进行排序和索引,以便更快地对其运行操作。您可以查看https://bitnine.net/blog-postgreSQL/postgreSQL-internals-jsonb-type-and-its-indexes/了解更多信息。

 类似资料:
  • 我从数据库中填充。中的数据根据自动生成的主键按降序排序。该表如下所示。 表中的数据由一个列表保存,该列表包含JPA实体的对象列表-

  • 我有一个名为map的HashMap,它将字符存储为键,将整数存储为值,然后使用以下代码将其存储到名为entries的ArrayList中: 现在我正在尝试根据整数值而不是键对这些条目进行排序。我试图使用一个lambda表达式来实现比较器接口,但它不起作用。这是我的代码: 以下是我得到的错误: 这一行有多个标记 > 语法错误,插入“)”以完成表达式 类型集合中的方法sort(列表,比较器)不适用于参

  • 好的,这就是我目前的情况 这正在做的是由另一个类控制。一旦确定了要创建的员工类型,它就会创建所述员工类型的新实例。我已经为每个员工类型编写了所有的类。 我将实施的其他一些方法: 现在我想,只要我能弄清楚如何实现这些方法中的一个,其余的就会很容易地就能到位了。我的问题是如何将所有员工数据存储在一个可按多个不同数据类型排序的数组中。 编辑: 另外,我还应该注意到这是我的作业表中直接引用的排序将是必需的

  • 基于Spark Scala代码,我可以看到在内部调用sort方法,该方法执行全局排序。 https://github.com/apache/spark/blob/branch-2.4/sql/core/src/main/scala/org/apache/spark/sql/dataset.scala 而且drop_duplicates(cols)方法也按照bellow spark代码转换为聚合(f

  • 背景:对于我的用户,我需要存储一对相同的对象类型(设置),目前我有它像 我正在创建带有设置的KeyValueTypes,并将其添加到列表中(每个用户都有一个列表)。我的设置有一个值字段(它显示了它们是否比其他设置“更重要”),所以我希望基于该字段添加它们,稍后我还需要基于该字段(可能还需要基于名称字段)进行搜索--所以搜索将不得不在列表中查找,然后在KeyValueTypes中查找 问题:什么是最

  • 我有一个会话列表,我必须调用一个网络服务来设置每个会话的一些属性。 我尝试使用异步进程调用webservice,并使用completablefuture,以便在完成所有操作后,可以将它们全部保存在db中。 我该怎么做呢?到目前为止,我的代码如下,它不起作用。 编辑: 我提出了这个解决方案,不确定这是否是正确的方法。 我正在使用join来确保它在保存会话之前等待响应返回