hibrenate @ManyToOne(fetch = FetchType.EAGER) 和...

hibrenate @ManyToOne(fetch = FetchType.EAGER) 和 lazy 区别

 
         如果是EAGER,那么表示取出这条数据时,它关联的数据也同时取出放入内存中 

如果是LAZY,那么取出这条数据时,它关联的数据并不取出来,在同一个session中,什么时候要用,就什么时候取(再次访问数据库)。 

但是,在session外,就不能再取了。用EAGER时,因为在内存里,所以在session外也可以取。 



一般只在一边设Eager,JPA接口默认为一对多为Lazy,多对一为Eager,但是Hibernate反向工程生成Entity时,多对一为Lazy,需要手动改为Eager。 

你可能感兴趣的:(hibrenate @ManyToOne(fetch = FetchType.EAGER) 和...)