JPA和eclipselink-覆盖FetchType.Eager
我有一个类,其中一些成员有注释:JPA和eclipselink-覆盖FetchType.Eager,jpa,eclipselink,Jpa,Eclipselink,我有一个类,其中一些成员有注释: @ManyToOne(fetch = FetchType.EAGER) 在我的程序的特定部分,这些加载了太多的数据。不幸的是,我无法更改这些注释,因为这将影响程序其他部分的性能。eclipselink中有没有一种方法可以将其更改为LAZY for 1特定的JPQL查询 另一种说法是,您可以通过使用fetchjoin将LAZY改为EAGER。我希望有什么东西能让我变得懒惰,这是不可能的。我的经验法则是:让一切都变得懒惰,如果您想要快速抓取,请使用自定义查询 最好
@ManyToOne(fetch = FetchType.EAGER)
在我的程序的特定部分,这些加载了太多的数据。不幸的是,我无法更改这些注释,因为这将影响程序其他部分的性能。eclipselink中有没有一种方法可以将其更改为LAZY for 1特定的JPQL查询
另一种说法是,您可以通过使用fetchjoin将LAZY改为EAGER。我希望有什么东西能让我变得懒惰,这是不可能的。我的经验法则是:让一切都变得懒惰,如果您想要快速抓取,请使用自定义查询
最好的方法是加载元组(并填充DTO),而不是加载实体。我知道,自从eclipselink 2.3以来,您可以在运行时扩展实体,可以检查一下吗?
我想在我们进行更大的大修之前,我只能忍受糟糕的性能。这是可怕的东西,从维护角度来看;-)尽管如此,谢谢你让我知道这个日食的核心。总有一天它会很方便的!