【问题标题】:Store JSON as a field in PostgreSQL with Spring Data JPA使用 Spring Data JPA 将 JSON 作为字段存储在 PostgreSQL 中
【发布时间】:2012-07-04 18:47:20
【问题描述】:

我想要一个包含两列的特定表,一个 ID 和一个用于存储 JSON 对象的字段。我正在使用 Spring Data JPA。

我在想这行的一些东西,但我不确定:

@Entity
@Table(name = "some_table")
public class SomeTable {

    @Id
    @Column(name = "id", unique = true)
    @GenericGenerator(name = "uuid", strategy = "uuid2")
    @GeneratedValue(generator = "uuid")
    private UUID id;

    // getters and setters for id here..

    // here to be the field for storing JSON objects and it's getters and setters
}

【问题讨论】:

  • 一般来说,如果可能的话,你应该尽量避免将 json 存储在 postgres 中……这是不好的设计。
  • 嗯,他们有一个 JSON 数据类型(我认为计划用于 pg 9.2)postgresql.org/docs/devel/static/datatype-json.html 我得到你的关注,这是一个不好的做法,但我有一个特殊的用例用于这个表,我'想要这样:)
  • 那么您的问题到底是什么?您可以简单地将 json 存储为字符串,然后就完成了。 postgres 数据类型只是确保字符串是有效的 json
  • +1 随着 PostgresSQL 9.2 的发布,我也对此感兴趣。你找到解决方案了吗?
  • PostgreSQL 的哪个版本?

标签: json spring postgresql jpa-2.0 spring-data-jpa


【解决方案1】:

答案取决于您使用的 PostgreSQL 版本。如果您使用的是 9.1,请查看 https://bitbucket.org/adunstan/json_91,它为您提供与 9.2 相同的功能。如果它是旧版本,您将不得不使用文本或反向移植该模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-13
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2019-03-02
    • 2016-06-26
    相关资源
    最近更新 更多