除了Grails中的字符串之外的其他类型的地图

时间:2010-02-17 20:14:49

标签: grails gorm

我创建了包含地图的简单域类。

class Foo {
   Map bar
}

条形图的创建方式如下:

create table foo_bar (bar bigint, bar_idx varchar(255),
   bar_elt varchar(255) not null);

...如http://www.grails.org/GORM+-+Collection+Types中所述:

  

静态hasMany属性定义   内部元素的类型   地图。地图的关键必须是   字符串。

现在我的问题是 - 是否可以创建除字符串以外的值的映射?我可以使用纯Hibernate(元素映射)实现这一点 - 任何想法如何将其移植到Grails?

1 个答案:

答案 0 :(得分:1)

我认为你的意思是,如果可以创建除了Strings之外的KEYS地图。

不可能:所有键都必须是字符串,而值可以是您想要的任何类型。 实现所需目标的一种方法是使用一些唯一标识符作为地图关键字所需的类类型。

假设你想在你的数据库中保留一个Map,并说你有两个实例:你想要在你的地图中保留的objectA和objectB,这个名字是“关系”:

relationship。“objectA.toString()”= objectB

那应该有用。使用hashCode(),getId()或任何能够为您提供标识该对象的唯一String的东西来改变toString(),并获得它。