How to get the name of the table GORM object is mapped to?

前端 未结 2 1036
不思量自难忘°
不思量自难忘° 2021-02-07 07:38

Say I have something like:

class Foo {
    static mapping = {
        table \'foo_table\'
    }
}

How can I get the name of foo_table

相关标签:
2条回答
  • 2021-02-07 08:20

    JamesA's answer will work, but only if table name if defined explicitly, like in the question.

    If you wish to get a table name whether or not it was specified in mapping, it can be done using SessionFactory:

    def tableName = sessionFactory.getClassMetadata(Foo).tableName
    
    0 讨论(0)
  • 2021-02-07 08:35

    Import org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.

    To get the table name from the domain class:

    def tableName = GrailsDomainBinder.getMapping(Foo).table.name 
    

    And to get the table name from an instance of the domain class:

    def tableName = GrailsDomainBinder.getMapping(foo.class).table.name
    
    0 讨论(0)
提交回复
热议问题