Grails中字符串以外的其他类型的映射
我创建了一个简单的域类,其中包含mapGrails中字符串以外的其他类型的映射,grails,gorm,Grails,Gorm,我创建了一个简单的域类,其中包含map class Foo { Map bar } 条形图将创建为类似以下内容: create table foo_bar (bar bigint, bar_idx varchar(255), bar_elt varchar(255) not null); …如下列文件所述: 静态hasMany属性定义了 中元素的类型 地图。地图的键必须是 字符串 现在我的问题是-是否可以创建字符串以外的值映射?我可以使用纯Hibernate(元素映射)来实现这一
class Foo {
Map bar
}
条形图将创建为类似以下内容:
create table foo_bar (bar bigint, bar_idx varchar(255),
bar_elt varchar(255) not null);
…如下列文件所述:
静态hasMany属性定义了
中元素的类型
地图。地图的键必须是
字符串
现在我的问题是-是否可以创建字符串以外的值映射?我可以使用纯Hibernate(元素映射)来实现这一点——有没有办法将其移植到Grails?我想你的意思是,如果可以创建除字符串以外的键映射的话 这是不可能的:所有键都必须是字符串,而值可以是您想要的任何类型。 实现所需的一种方法是使用所需类类型的唯一标识符作为映射的键 假设您希望在数据库中持久化一个映射,并假设您有两个实例:objectA和objectB您希望在映射中持久化,其名称为“关系”: 关系。“objectA.toString()”=objectB 这应该行得通。使用hashCode()、getId()或其他任何东西更改toString(),这些东西为您提供了唯一的字符串来标识该对象,并且仅标识该对象,您就得到了它