Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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
Java Hibernate criteria alias生成innej联接,该联接将读取查询结果_Java_Hibernate - Fatal编程技术网

Java Hibernate criteria alias生成innej联接,该联接将读取查询结果

Java Hibernate criteria alias生成innej联接,该联接将读取查询结果,java,hibernate,Java,Hibernate,我有一个DAO,它使用搜索意外事件的criteria.list()搜索对象。它应返回以下事故: 1) 具有类型A和accidentAttribs(映射为集合,但其中只有一个元素)TITLE=Test 2) 不属于A类的所有其他事故,即使它们没有任何属性 创建此别名: criteria.createAlias("accidentAttribsSet", "accidentAttrib"); 在两个表之间进行内部联接,不返回没有属性的意外 criteria.createAlias("accide

我有一个DAO,它使用搜索意外事件的criteria.list()搜索对象。它应返回以下事故:

1) 具有类型A和accidentAttribs(映射为集合,但其中只有一个元素)TITLE=Test

2) 不属于A类的所有其他事故,即使它们没有任何属性

创建此别名:

 criteria.createAlias("accidentAttribsSet", "accidentAttrib");
在两个表之间进行内部联接,不返回没有属性的意外

criteria.createAlias("accidentAttribsSet", "accidentAttrib");
                    criteria = criteria.add(Restrictions.or(

                                    Restrictions.not(Restrictions.eq("type", "A")),
                                    Restrictions.and( Restrictions.eq("type", "A"),Restrictions.eq("accidentAttrib.title", "Test") )
                                    )

                    );

I db I有类型为B的事故,它们还没有任何属性,此查询不会返回它们。

内部联接意味着结果集中只有具有属性的事故。你应该尝试使用左连接

criteria.createAlias("accidentAttribsSet", "accidentAttrib", JoinType.LEFT.ordinal());