我对递归投影有疑问。
在弹簧数据休息中使用投影的最佳方法是什么?
我有下一个实体:个人资料,参数和章节。
他们之间的关系是下一个:
- >使用参数配置文件 ManyToMany 。
- >参与 ManyToOne 与章节
我已经定义了我的个人预测并将其包含在我的存储库中,并附带了摘录属性但是当我请求它们时,投影仅在第一级有效,而在我的情况下,当我列出个人资料时,我看到了我申请了配置文件实体但没有看到我为第二级中的param实体定义的投影的投影。
预测在这里:
@Projection(name = "profileProjection", types = Profile.class)
public interface ProfileProjection {
int getId();
List<Param> getParams();
}
@Projection(name = "paramProjection", types = Param.class)
public interface ParamProjection {
int getId();
Chapter getChapter();
List<Profile> getProfiles();
}
另外,当我只想看到第一级时,我看到该配置文件与我的Params相关联。停止递归的最佳方法是什么?我试图在这样的网址中使用投影参数,但效果不佳。
...... / parametros?投影= parametroProjection
在网址中应用两个投影是否可行?
答案 0 :(得分:0)
我不确定你在问什么。如果要组合投影,可以执行以下操作:
@Projection(name = "profileProjection", types = Profile.class)
public interface ProfileProjection {
int getId();
// note type of list is ParamProjection
List<ParamProjection> getParams();
}
@Projection(name = "paramProjection", types = Param.class)
public interface ParamProjection {
int getId();
Chapter getChapter();
}
...... / parametros?投影= profileProjection