在某些情况下,只需要加载实体的ID或实体集合的ID(例如,在关系中)。例如,我有en实体父和一个子级集合。
class Parent {
private List<Child> children;
}
因此,当我想加载子级时,我只希望在某些情况下加载I,而不是加载子级的整个状态。我进行了研究,并通过名为FetchGroup的方法找到了一种方法,这意味着如果我想实现这个方法,我必须为每个实体注释@FetchGroup(name="id",attributes = {@FetchAttribute(name =“id”)}添加)。当然,当我只想把它应用于一个实体的时候,这种方法也适用于这些情况。对于子情况,也应该配置LoadGroup。
这里的问题是:当请求一个或多个实体时,是否有另一种策略专门用于只加载ID?或者用什么方法表明这一点?在这里,我想避免使用@FetchGroup来注释所有我想要应用的实体,仅仅是为了加载ID。或“从父级内部连接child.id选择Parent.children .”在这里也不是一个解决方案,因为对于所有的关系和实体,总是应该定义它。
发布于 2013-01-30 06:26:53
如果只想要一个实体,可以在EntityManager上使用EntityManager()。
如果这是一个查询或关系,那么在EclipseLink中获取组是您唯一的选择。
https://stackoverflow.com/questions/14601739
复制