我想请你。我写了一个像这样的JPQL查询(我写的部分是我想提请你注意的):
SELECT DISTINCT
e
FROM
MyEntity e
JOIN e.myEntityTwo s
...
WHERE
s.id = :id
...
MyEntity是这样的:
@Entity
@Table(name="DBTABLE")
public class MyEntity implements Serializable {
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="ID_TABLE")
private MyEntityTwo myEntityTwo;
...
//getter and setter
}
所以,当我执行查询时,这也会返回myEntityTwo对象的某些id过滤器(但是..它不是懒惰的?!)并且没有为其他人返回任何myEntityTwo对象。 奇怪的是,在两种情况下,sql生成的查询(我从stacktrace中看到它)看起来都是一样的! 我使用的是Oracle和JPA(Hibernate提供程序) 我无法解释为什么?!