我有一个已经有一个名为versions
的属性的域对象,所以我想给内置的version
属性赋一个不同的名称(在GORM中用于乐观锁定) )。例如,我想将其称为updateCount
。
请注意,我确实需要乐观锁定的语义;我只想给这个领域另一个名字。这是我天真的尝试(并没有奏效):
class Item {
ObjectId id
static hasMany = [versions: ItemVersion]
static mapping = {
table 'item'
version column: 'updateCount' // <-- This was my attempt
}
}
我非常感谢任何帮助...
谢谢!
答案 0 :(得分:4)
首先是第一件事。 MongoDB(NoSQL)处理Documents and Collections instead of Table and rows。
据说,域类看起来应该是这样的:
class Item {
ObjectId id
String itemName
static hasMany = [versions: ItemVersion]
static mapping = {
//Collection in Mongodb is to Table in relational world
collection 'item'
//attr in Mongodb is to column in relational world
itemName attr: 'item_name'
//After spending some time investigating it was found that
//attr for version does not make any difference
//The below would not work for implicit GORM variable "version"
//default attribute name is the variable name.
//version attr: 'updateCount'
}
}
如果您要跨域配置默认属性以打开/关闭版本控制,请查看Global Mapping Configuration。