从 GrailsDomainClass grails 获取 mapWith 静态域字段值

get mapWith static domain field value from GrailsDomainClass grails

如何获取域 class 的 mapWith 属性?

我尝试了 domainClass.mapWith,因为它是域 class.It 的静态 属性 无效。 我也试过 mappedBy 但它是不同的上下文。

关于如何从 GrailsDomainClass 获取 mapWith 值的任何想法

下面是我的域名:-

public class Ticket {
    String id

    List<Long> productInstanceId

    static hasMany = [productInstanceId:Long]

    static mapWith = "none"

}

如果您有 GrailsDomainClass,您可以通过 Groovy(或 Java)class 使用 getClazz() 方法或其 clazz 属性 形式:

GrailsDomainClass dc = ...
String mapWith = dc.clazz.mapWith

如果您正在对特定域进行直接检查,那么您可以使用域 class 获取静态 属性。在您的情况下,它将是 Ticket.mapWithTicket.class.mapWith.

如果您正在进行动态检查,那么您可以在 DefaultGrailsDomainClass 的帮助下找到它。

GrailsDomainClass aClass = new DefaultGrailsDomainClass(clazz)
aClass.mappingStrategy