![](/img/trans.png)
[英]MongoDB (3.0.2) NullPointerException with Grails 2.4.3
[英]grails mongodb 3.0.2 plugin join queries on associations using createCriteria()
我正在嘗試使用createCriteria()搜索具有特定角色的用戶。我有三個域類:User,Role和UserRole(它們來自SpringSecurity)。
class UserRole implements Serializable {
User user
Role role
static constraints = {
user nullbale: false
role nullable: false
}
static mapping = {
version: false
id composite: ['role', 'user']
}
}
我正在搜索用戶域上的isActive,名稱或用戶名字段以及角色域上的權限字段。
def c = UserRole.createCriteria()
def results = c {
user {
eq("isActive", true)
or {
ilike("name", "somename")
ilike("username", "someusername")
}
}
role {
eq("authority", "ROLE_USER")
}
}
運行此程序時,我從mongo插件獲取UnsupportedOperationException。 這是stacktrace
ERROR errors.GrailsExceptionResolver - UnsupportedOperationException occurred when processing request: [GET] /users/search - parameters:
query:
Join queries are not supported by MongoDB. Stacktrace follows:
Message: Join queries are not supported by MongoDB
Line | Method
->> 162 | handle in org.grails.datastore.mapping.mongo.query.MongoQuery$2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 142 | handle in ''
| 1091 | populateMongoQuery in org.grails.datastore.mapping.mongo.query.MongoQuery
| 993 | executeQuery in org.grails.datastore.mapping.mongo.query.MongoQuery$58
| 861 | doInDB . . . . . . in ''
| 833 | doInDB in ''
| 542 | list . . . . . . . in org.grails.datastore.mapping.query.Query
| 325 | invokeMethod in grails.gorm.CriteriaBuilder
| 17 | $tt__searchUsers . in com.themopi.apis.searchactivity.SearchService
| 29 | searchUser in com.themopi.apis.search.SearchController
| 198 | doFilter . . . . . in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter in grails.plugin.cache.web.filter.AbstractFilter
| 106 | processFilterChain in com.odobo.grails.plugin.springsecurity.rest.RestTokenValidationFilter
| 72 | doFilter in ''
| 53 | doFilter . . . . . in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
我在此問題上找到了一個Jira ,但尚未解決。
到目前為止,由於jira是在2012年3月9日創建的,因此目前尚無解決方法,或者我錯過了一些東西?
我將在此查詢中使用分頁和投影嗎?
任何幫助或指導都將受到高度贊賞。
提前致謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.