【发布时间】:2015-11-29 14:41:00
【问题描述】:
我正在尝试获取状态仍显示为非活动的用户列表并对其进行处理。 此用户嵌入了 UserDetails、UserActivity 实体。所有实体表都有状态列,值为 Inactive。
现在我使用分离标准,
detachedcriteria.for class(User.class).add(Restrictions.
Eq("status","Inactive").setresulttransformer(criteria.distinct_element)
这将用户对象及其嵌入实体作为单个用户对象提供给我。
但是现在,我必须调整查询以确保嵌入式类的状态也处于非活动状态。所以我确实选择了命名查询,因为我不知道如何在单个分离条件中为不同实体添加多个限制。
在命名查询中,我将连接所有表以获取数据。而且我能够获取数据,但它返回的对象数组列表。此列表的第一个对象中包含以下实体数组的位置。
命名查询:
from User us, UserDetail ud, UserActivity uc where us.id=ud.id and us.id=uc
.id and us.status=ud.status and us.status=uc.status and us.status='Inactive'
List<User>=query.list ();
Object ob=lst.get(0);
Where ob contains [User(),UserDetail(),UserActivity ()].
我们能否在一个分离的标准中对不同实体的多个限制进行修正?
-
我们能否有一个命名查询,当我进入 detachedcriteria 时,它将返回一个用户对象以及其中的嵌入实体?(这样我就可以直接执行
User.getUserDetail())。
【问题讨论】:
标签: hibernate detachedcriteria