关于ManyToOne Lazy关系

时间:2016-04-02 17:06:44

标签: hibernate jpa lazy-loading many-to-one

我想请你。我写了一个像这样的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提供程序) 我无法解释为什么?!

0 个答案:

没有答案