无论如何都要检查域类中的属性是否是主键?

时间:2014-01-16 04:31:10

标签: hibernate grails groovy primary-key

我需要知道域类的某个属性是否是主键。有没有办法做到这一点?

例如,我有一个域类Person.groovy(使用hibernate),我动态加载这个类属于一个单独的插件。

class Person{    
static mapping = {
    table 'PERSON'
    // version is set to false, because this isn't available by default for legacy databases
    version false
    id column:'PERSON_ID'
}
Long personId
String name
String address
static constraints = {}
}

我有另一个动态加载域类的类,它需要检查属性是否是主键。

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式获取域对象的标识符属性:

// Get a single Person and interrogate the domainClass
def idProp = Person.find {}.domainClass.identifier

然后您应该可以调用其中一个methods on the GrailsDomainClassProperty interface,即:

println idProp.name