Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate Grails CreateCriteria逻辑错误或工作不正常_Hibernate_Grails_Gorm_Createcriteria_Logical Or - Fatal编程技术网

Hibernate Grails CreateCriteria逻辑错误或工作不正常

Hibernate Grails CreateCriteria逻辑错误或工作不正常,hibernate,grails,gorm,createcriteria,logical-or,Hibernate,Grails,Gorm,Createcriteria,Logical Or,我试图根据“状态”条件对一组对象执行筛选 ... or { office { state { 'in'('abbrev', filters.stateFilter) } } state { 'in'('abbrev', filters.stateFilter) } } 如果OR中的状态筛选器包含在cide中,则它只获取与状态匹配的对象,而不获取Office.State。如果我删除状态筛选代

我试图根据“状态”条件对一组对象执行筛选

...
or {
    office {
        state {
            'in'('abbrev', filters.stateFilter)
        }
    } 
    state {
        'in'('abbrev', filters.stateFilter)
    }
}
如果OR中的状态筛选器包含在cide中,则它只获取与状态匹配的对象,而不获取Office.State。如果我删除状态筛选代码,它将正确获取对象的Office.State

条件需要获取对象的状态(如果有)以及对象的Office.State(如果有)

我假设它与criteria builder中的一些隐式联接有关


任何线索将不胜感激

多亏了Jeff的评论,我才能够打开SQL日志,通过更多的谷歌搜索找到问题的解决方案。正如我所怀疑的,它正在执行内部连接。下面是我需要解决这个问题的代码

...
createAlias('state', 'state', JoinType.LEFT_OUTER_JOIN)
or {
    office {
        'in'('state.abbrev', filters.stateFilter)
    } 
    'in'('state.abbrev', filters.stateFilter)
}

多亏了Jeff的评论,我才能够打开SQL日志,通过更多的谷歌搜索找到问题的解决方案。正如我所怀疑的,它正在执行内部连接。下面是我需要解决这个问题的代码

...
createAlias('state', 'state', JoinType.LEFT_OUTER_JOIN)
or {
    office {
        'in'('state.abbrev', filters.stateFilter)
    } 
    'in'('state.abbrev', filters.stateFilter)
}

如果在
数据源
配置中将
logSql
设置为
true
,则生成的SQL将被记录到控制台。这可能会让我们了解出了什么问题。谢谢!日志显示它正在执行内部联接,这可能是问题所在。如果在
数据源
配置中将
logSql
设置为
true
,则生成的SQL将被记录到控制台。这可能会让我们了解出了什么问题。谢谢!日志显示它正在执行内部连接,这可能是问题所在。