Grails Domain Class with Map和Mysql DB

时间:2014-02-12 12:19:12

标签: grails gorm

class Author {
    Map books // map of ISBN:book names
}
def a = new Author()
a.books = ["1590597583":"Grails Book"]
a.save()

任何人都可以解释一下作者表的外观以及与Book的关系,

2 个答案:

答案 0 :(得分:0)

这是不可能的,我会做一个其他对象的列表(或hasMany关系),例如

class Book {
    String isbn
    String title
}

与Map.Entry相比,它更加灵活和可扩展,您只能使用键和值,并且不能添加任何其他属性

答案 1 :(得分:0)

Grails将为您创建一个名为author的表格,如下所示:

id | version
1  | 1
2  | 2
...

您还将获得另一个名为author_books的表,其中包含books地图中的键值对,如下所示:

books    | books_idx | books_elt
authorId | someKey   | someValue

正如@Kamil Mikolajczyk所说,如果你使用Book个对象的集合,你的模型通常会更容易理解。