小编Niv*_*Niv的帖子

使用 JPA 标准使用标准构建器为 postgres jsonb 列构建谓词

我需要将一个谓词添加到我的 JSONB 列的现有谓词列表中。

实体:

@Entity
@Table(name = "a")
@TypeDefs({
        @TypeDef(name = "jsonb", typeClass = JsonBinaryType.class),
})
public class EntityA {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "a_id_seq")
    @SequenceGenerator(sequenceName = "a_id_seq", allocationSize = 1, name = "a_id_seq")
    @Column(name = "id")
    private long id;

    @Column(name = "name")
    private String name;

    @Column(name = "json")
    @Type(type = "jsonb")
    private Json json;

    private static class Json {
        private String name;

        private Integer number;

        private String random;
    }
}
Run Code Online (Sandbox Code Playgroud)

规格:

    public Specification<EntityA> buildSpecification(Filter filter){

            return (root, …
Run Code Online (Sandbox Code Playgroud)

jpa criteria-api spring-data-jpa jsonb postgresql-9.6

6
推荐指数
1
解决办法
4070
查看次数

从 jsonb 字符串列表中获取第一个元素 postgres

我有一个列表,它作为 jsonb 存储在我的表中,需要一个本机查询来从这个 jsonb 列中获取第一个元素

尝试使用 jsonb_array_elements_text 但无法让它工作。

select col from tbl;
Run Code Online (Sandbox Code Playgroud)

返回:

select col from tbl;
Run Code Online (Sandbox Code Playgroud)

我需要一个可以返回我 abc 的查询

postgresql spring-data-jpa postgresql-9.6

3
推荐指数
1
解决办法
3928
查看次数