2015-04-01 58 views
3

以前我用的是會話清理trick插入大量的記錄,即Grails的3.0 propertyInstanceMap了一批插入

def propertyInstanceMap = DomainClassGrailsPlugin.PROPERTY_INSTANCE_MAP 

def cleanUpGorm() { 
    def session = sessionFactory.currentSession 
    session.flush() 
    session.clear() 
    propertyInstanceMap.get().clear() 
} 

我找不到在DomainClassGrailsPlugin的PROPERTY_INSTANCE_MAP Grails的3.0,因此應用程序在進口過程中死亡。任何人都可以告訴我這個屬性在3.0的位置?由於

回答

0

你有沒有嘗試使用

DomainClassGrailsPlugin.PROPERTY_INSTANCE_MAP.get().clear()

我沒有用過的Grails 3.0,但這應該工作。

+0

是的,我試過這個。它工作於2.x – 2015-04-01 23:20:38

+0

@Toby我在grails core 3.0的grails-plugin-domain-class/src/main/groovy/org/grails/plugins/domain/DomainClassGrailsPlugin.groovy中找到它。所以你可以嘗試使用'org.grails.plugins.domain.DomainClassGrailsPlugin'來導入它。 – vivwilfer 2015-04-02 04:22:11

+0

我發現這個類,它是我現在無法在3.0中找到的類的屬性,即PROPERTY_INSTANCE_MAP。我不確定如果Grails 3.0現在使用不同的驗證機制 – 2015-04-02 13:43:29

1

似乎在Grails 3中,您不需要清除屬性實例映射。

您是否注意到任何性能問題,請刪除清除propertyInstanceMap的行?我做了,而且我還沒有遇到任何性能迴歸。

希望它會有所幫助。