2015-05-21 3 views
1

Мне интересно, как создать класс домена Grails с объектами JavaScript как переменные внутри класса.Создание класса домена Grails с объектами JS внутри?

Например, я посылаю объект JSON, который выглядит следующим образом:

{ 
    "name":"task", 
    "type":{ 
     "label":"Work", 
     "id":1 
    }, 
    "priority":{ 
     "label":"Mid Priority", 
     "id":2 
    }, 
    "completed":false, 
    "comments":"", 
    "creator":"user", 
    "assignedTo":"user" 
} 

Как вы можете видеть, «тип» и «приоритет» являются объектами в своих собственных. Мой класс Grails домена выглядит следующим образом в настоящее время:

package server 

class Item { 

    //String username 
    String name 
    String type 
    String priority 
    boolean completed = false 
    String comments 
    String creator 
    String assignedTo 

    static constraints = { 
     name nullable: false 
     priority nullable: true 
     type nullable: true 
     comments nullable: true 
     creator nullable: false 
     assignedTo nullable: false 
    } 
} 

Очевидно, что строка неверна, но я не знаю, что это должно быть? Сейчас все сохраняется, как и должно быть в списке JSON, за исключением типа и приоритета.

ответ

0

Для SQL DB нет других альтернатив, кроме сохранения JSON в виде строки. Все решения на каком-то этапе имеют сортировку/разборку, но данные все еще хранятся в таблице TEXT или BLOB.

NoSQL DB-s, как mongo, позволяет вам хранить объект BSON как есть.

+0

Как я могу получить идентификатор и ярлык из этих типов? Или мне придется реализовать их на стороне клиента совершенно по-другому? – Ajv2324

+0

все зависит. что вы хотите сохранить для поля 'type'? наклейка? id? – injecteer

+0

Я только что закончил тем, что менял типы в своей стороне клиента на строки и работал так. – Ajv2324

Смежные вопросы