【问题标题】:Making a Grails domain class with JS Objects inside?用 JS 对象制作一个 Grails 域类?
【发布时间】:2015-05-21 14:23:05
【问题描述】:

我想知道如何在类内部创建一个使用 JavaScript 对象作为变量的 Grails 域类。

例如,我正在发送一个如下所示的 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 列表中。

【问题讨论】:

    标签: javascript json grails


    【解决方案1】:

    对于 SQL 数据库,除了将 JSON 保存为字符串之外,没有其他选择。所有解决方案都在某个阶段进行编组/解组,但数据仍以TEXTBLOB 形式存储在表中。

    像 mongo 这样的 NoSQL DB-s 允许您按原样存储 BSON 对象。

    【讨论】:

    • 那么我应该如何从这些类型中获取 ID 和 Label 呢?还是我必须以完全不同的方式在客户端实现它们?
    • 视情况而定。你想为type 字段存储什么?标签?身份证?
    • 我刚刚将客户端内容中的类型更改为字符串并像那样工作。
    • “对于 SQL 数据库,除了将 JSON 保存为字符串之外,没有其他选择”真的吗? postgresql.org/docs/current/static/datatype-json.html
    • 我的意思当然是 Hibernate 中可用的常见数据类型
    猜你喜欢
    • 2013-05-03
    • 1970-01-01
    • 2013-10-24
    • 2012-03-26
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    相关资源
    最近更新 更多