Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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 休眠条件多对多相同对象_Hibernate_Jpa - Fatal编程技术网

Hibernate 休眠条件多对多相同对象

Hibernate 休眠条件多对多相同对象,hibernate,jpa,Hibernate,Jpa,我有一个用户实体,它通过多对多关系链接到自身。基本上,每个用户都可以是父用户或子用户,我希望创建一个criteria对象,以便允许分页和其他筛选。 在用户中,我为其父列表和子列表保留引用,因此创建的中间表将为每个用户对有两个条目。 基本上我这样做是为了能够有双向关系 我当前的标准对象是: Criteria c = getSession().createCriteria(User.class) .createAlias("parents", "p")

我有一个用户实体,它通过多对多关系链接到自身。基本上,每个用户都可以是父用户或子用户,我希望创建一个criteria对象,以便允许分页和其他筛选。 在用户中,我为其父列表和子列表保留引用,因此创建的中间表将为每个用户对有两个条目。 基本上我这样做是为了能够有双向关系

我当前的标准对象是:

Criteria c = getSession().createCriteria(User.class)
                 .createAlias("parents", "p")
                 .add(Restrictions.eq("p.id", this.getId()))
                 .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
然后我对这个标准进行过滤

但此查询将只返回将此用户作为父项的所有子项的列表。 我想要父母和孩子。 例如,期望的响应如下所示:

{
下一个:XXX,
以前的{xxx},
数据[
{parentuser},
{child1},
{child2}
..
]
}


有条件的话可能吗?

好的,最简单的解决方案就是把父母作为孩子添加到自己身上,因为这是一种多对多关系,效果很好。 这不是一个干净的解决方案,但它的工作原理与预期相符