确定运行时获取的类型

时间:2015-02-24 06:33:49

标签: java hibernate lazy-loading eager-loading

我有一个实体Application.java,后者又有一个属性

@Audit(changeTracker = AttributeValueListChangeTracker.class)
    @OneToMany(cascade = { CascadeType.ALL }, orphanRemoval = true, targetEntity = AttributeValue.class)
    @OrderBy
    @JoinColumn(name = "application_id")
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<AttributeValue> attributeValueList = new ArrayList<AttributeValue>();

这种渴望获取此属性的问题在性能方面存在问题。我不能让它变得懒惰,因为在某些情况下需要急切获取。 我工作的情况并不需要急切的提取。 有没有办法让这个属性加载懒惰只是为了我的情况?

1 个答案:

答案 0 :(得分:0)

您可以通过HQL编写自定义提取方法,或者说Spring Data JPA,它不会盲目地用于整个实体(以及它的热切关系),但对于您需要的某些属性...