Jpa 是否有办法仅加载实体/实体的ID以避免组策略?
在某些情况下,仅需要加载实体的ID或实体集合的ID(例如,在关系中)。例如,我有一个en实体父对象和一组子对象Jpa 是否有办法仅加载实体/实体的ID以避免组策略?,jpa,eclipselink,Jpa,Eclipselink,在某些情况下,仅需要加载实体的ID或实体集合的ID(例如,在关系中)。例如,我有一个en实体父对象和一组子对象 class Parent { private List<Child> children; } 类父{ 私人名单儿童; } 因此,当我想加载子对象时,我只希望在某些情况下加载ID,而不是加载子对象的整个状态。我做了一项研究,发现了一种通过命名的FetchGroup实现的方法,这意味着如果我想实现它,我必须为每个实体添加注释@FetchGroup(name=“i
class Parent {
private List<Child> children;
}
类父{
私人名单儿童;
}
因此,当我想加载子对象时,我只希望在某些情况下加载ID,而不是加载子对象的整个状态。我做了一项研究,发现了一种通过命名的FetchGroup实现的方法,这意味着如果我想实现它,我必须为每个实体添加注释@FetchGroup(name=“id”,attributes={@FetchAttribute(name=“id”)}。当然,当我只想将其应用于一个实体时,它就适用于这种情况。对于子类案例,还应配置加载组
这里的问题是:当请求一个或多个实体时,是否有另一种策略专门用于仅加载ID?或者是一种表明这一点的方式?在这里,我希望避免使用@FetchGroup all entities进行注释,我想应用这些注释,仅用于加载ID。当然,创建类似“从父项中选择ID…”或“从父项内部选择child.ID连接父项中选择child.children WHERE…”的查询在这里也不是一个解决方案,因为始终应该定义,用于所有关系和实体。如果只需要一个实体,可以在EntityManager上使用getReference() 如果是查询或关系,那么在EclipseLink中获取组是您唯一的选择