2012-07-04 3 views
3

Я хочу иметь определенную таблицу с двумя столбцами, идентификатором и полем, в котором я буду хранить объект JSON. И я использую Spring Data JPA.Храните JSON в качестве поля в PostgreSQL с данными Spring. 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 
} 
+1

В общем, если возможно, вы должны стараться избегать хранения json в postgres ... это плохой дизайн. – tobixen

+0

Ну, у них есть тип данных JSON (я думаю, что запланировано на стр. 9.2) http://www.postgresql.org/docs/devel/static/datatype-json.html Я понимаю, что это плохая практика, но у меня есть специальный прецедент для этой таблицы, и я бы хотел, чтобы это было так :) –

+1

Итак, каков ваш вопрос? Вы можете просто сохранить json как строку, и все готово. Тип данных postgres не делает ничего, кроме обеспечения правильности строки json –

ответ

1

Ответ зависит от того, какая версия PostgreSQL используется. Если вы используете 9.1, проверьте https://bitbucket.org/adunstan/json_91, который дает вам ту же функциональность, что и в 9.2. Если это более старая версия, вам придется идти с текстом или обратно в этот модуль.