我有一个实体服务,我需要根据id的列表过滤子实体的集合.我的服务有一个公共方法,它接收父实体的id和他的一些子实体的id列表.
默认情况下,我知道JPA将获取所有相关实体,这是他的实际行为.但我们需要研究服务的性能.因此,我没有获得所有相关实体并使用多个循环过滤它们(过滤id和其他属性,如date属性),我想只得到我的请求所关注的实体.
我的父实体
@Entity
@Table(name = "MyParent")
public class MyParentEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator = "SEQ_MyParent")
@SequenceGenerator(allocationSize = 1, name = "SEQ_MyParent",
sequenceName = "SEQ_MyParent")
@Column(name = "ID_PARENT")
private Long id;
@OneToMany(mappedBy = "myParent", cascade = CascadeType.ALL,
fetch = FetchType.EAGER, orphanRemoval = true)
private final List<MyChildEntity> myChild = new ArrayList<MyChildEntity>();
}
Run Code Online (Sandbox Code Playgroud)
我的孩子实体
@Entity
@Table(name = "MyChild")
public class MyChildEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator = "SEQ_MyChild")
@SequenceGenerator(allocationSize = 1, name = "SEQ_MyChild",
sequenceName = "SEQ_MyChild")
@Column(name = …Run Code Online (Sandbox Code Playgroud)