0
A
回答
2
域類有namedQueries屬性,您可以用它來添加自己的命名查詢。如果你想在插件中使用元編程(而不是直接編輯域類),你應該在關閉插件的描述符文件時做到這一點。
像這樣的東西應該工作:
class MyPlugin {
def doWithDynamicMethods = { applicationContext ->
application.domainClasses.each { domainClass ->
boolean domainClassFilter = domainClass as Boolean
if (domainClassFilter) {
domainClass.metaClass.static.myNamedQuery = {->
// implementation of your named query goes here. Here is an example implementation
// that returns all instances with status == 'ready'
String simpleClassName = domainClass.simpleName
domainClass.findAll("from $simpleClassName where status = ?", ['ready'])
}
}
}
}
}
這將增加myNamedQuery
在該插件安裝在應用程序的每個域類如果你只是想將它添加到某些領域類,然後更換domainClassFilter
的值用更合適的測試。
+1
這樣的動態方法添加到域類而不是命名查詢。 – Jason 2011-05-23 15:52:36
相關問題
- 1. Grails命名查詢
- 2. 是否有多個命名查詢文件可能
- 3. Grails域名字符串查詢查詢
- 4. 是否可以將實體的命名查詢移動到另一個類
- 5. 命名查詢可能性
- 6. Grails域名可能沒有'id'嗎?
- 7. GRAILS與to_char命名查詢
- 8. Resharper重命名功能類似於Visual Studio重命名 - 是否有可能?
- 9. Grails域名列表名稱查詢
- 10. 是否有可能編輯Eclipse命令
- 11. Grails命令綁定 - 帶關係的域類 - 有可能嗎?
- 12. 是否有可能找到給定域名的所有DNS子域名?
- 13. 是否可以通過編程方式重命名Outlook類別?
- 14. 將本機SQL查詢映射到Grails域類的結果
- 15. 是否有可能實現MySQL查詢
- 16. 是否有可能使用ngResours查詢
- 17. 是否有可能爲grails域對象保存特定的ID?
- 18. 是否有可能有某種類別的組查詢在列中編號?
- 19. 是否有可能重命名XSD中的基本類型
- 20. Grails:在我的域模型的命名查詢
- 21. 是否有可能在firestore查詢上有完成塊?
- 22. 是否有可能將「rails new」命令別名爲「rails」?
- 23. 是否有可能將模板實例視爲命名空間?
- 24. 是否可以將根域URL映射到Grails的控制器?
- 25. 是否有可能給聯盟查詢別名
- 26. 是否有可能查詢列表中的元素?
- 27. 是否有可能檢測到Java中是否有類可用?
- 28. 是否有可能具有命名的角度配置功能?
- 29. 針對NOT IN的Grails命名查詢
- 30. 是否有可能使用查詢本身來編輯sql查詢
你究竟是什麼意思?如果你有一個帶有'first'和'last'字段的域類,grails可以通過元編程爲你自動添加一個findByFirst,findByLast,findByFirstAndLast .... – hvgotcodes 2011-05-21 15:08:06
[命名查詢](http://grails.org/doc/) latest/ref/Domain%20Classes/namedQueries.html) – Jason 2011-05-21 18:32:46
具體而言,我想使用插件在域類上添加'status'字段。然而,'status'是一個用軟鍵鏈接到域類的獨立域(請參閱audit-logging)。我想添加一些命名查詢,並允許像findAllByStatus(fooStatus).otherNamedQuery()。list() – Jason 2011-05-21 18:38:51