@manytoone(fetch = fetchType.lazy,可选= false)仍在获取



我有一个@Embeddable类:

@Embeddable
@Table(name="MY_TABLE")
public class MyTable {
    @ManyToOne(fetch=FetchType.LAZY, optional=false)
    @JoinColumn(name="my_other_id")
    private MyOtherEntity myOtherEntity;
    ...
}
@Entity
@Table(name="MY_OTHER_TABLE")
@DiscriminatorColumn(name="DISC", discriminatorType=DiscriminatorType.STRING)
public abstract class MyOtherEntity {
    ...
}
@Entity
@DiscriminatorValue("A")
public class MyOtherEntityA extends MyOtherEntity {
    ...
}
@Entity
@DiscriminatorValue("B")
public class MyOtherEntityB extends MyOtherEntity {
    ...
}

LAZY提取类型一样,我希望MyOtherEntity仅是代理,而不是实际的类初始化的类别。但是Hibernate仍在发出查询以获取所有列(除了MyOtherEntity的所有者类别MyTable调用getMyTable()

添加Hibernate中建议的optional=false:一对一的懒惰加载,可选= false和Hibernate ManytoOne fetchype.lazy不起作用吗?没有帮助。而且,这堂课不是在Hibernate中所建议的。还有其他原因如何懒惰,没有预期的工作?

指定@proxy(lazy = true(

@Proxy(lazy=true) 
@Embeddable
@Table(name="MY_TABLE")

最新更新