经过数天的尝试解决此问题,我得出以下结论:
- 在这种情况下,无法强制Hibernate 4.x(和3.x)不执行外部联接。
- 也无法强制Toplink Essentials(v2.1-60)和OpenJPA(v2.2.2)的最新可用版本也不执行外部联接。
- 可以避免使用最新的Eclipselink版本(v2.5.0)进行外部联接。但是,即使Hibernate和OpenJPA不需要,Eclipselink仍需要上面显示的类层次结构的discriminator列。到目前为止,我一直无法找到避免在Eclipselink中使用discriminator列的方法。
我想我将不得不等待JPA规范更改或满足我当前需求的JPA实现可用。



