我的应用程序中存在很大的性能问题,因为我的实体嵌入了两个我无法轻易删除的二进制字段(byte [])。
问题是我不需要在大多数情况下(实体列表)加载这些内容,但仅限于实体编辑和保存期间。
所以这是我的模型(简化):
@Entity
public class Specimen {
@OneToMany(fetch = FetchType.EAGER, orphanRemoval = true)
@JoinColumn(name = "specimen")
@Cascade( { CascadeType.SAVE_UPDATE })
@Fetch(value = FetchMode.SUBSELECT)
protected List<Document> documents;
}
@Entity
public class Document {
protected String name;
@Basic(fetch = FetchType.LAZY)
protected byte[] content;
}
有办法: