永发信息网

JPA (Hibernate)ManyToMany关系维护端默认是否懒加载

答案:1  悬赏:60  手机版
解决时间 2021-02-24 09:14
  • 提问者网友:半生酒醒
  • 2021-02-24 01:38
比如说老师和学生的关系,我设置学生为关系的维护端,
那么在老师的那一段默认的就是懒加载了,
那么在学生的那一段默认是什么啊,懒加载?
(我认为是立即加载,但是不确定!)

还有在Hibernate中 lazy=“true” inverse=“false”这样设置,
会导致懒加载失去作用吗?(我认为会)
大家帮帮忙,最好说说理由
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-02-24 03:02
如果你在定义关系时,没有指定lazy属性,那么关系两端的加载策略与hibernate-mapping属性设置有关。
<hibernate-mapping package="your.domain">
<class name="MyEntity">
<id name="id" type="my-custom-id-type">
...
</id>
<class>
&types;
</hibernate-mapping>
hibernate-mapping中有个default-lazy属性,该属性的作用是指明未明确注明lazy的java属性和集合hibernate默认采用什么样的加载策略。该属性的默认值是true,所以如果你两端都没有指定lazy属性,那么两端都是延迟加载的。
设置lazy=“true” inverse=“false”,不会导致懒加载失去作用。inverse的默认值是false,如果设置为true,则hibernate不会插入或者更新此连接的定义的属性,即该端不控制关联关系,这与是否延迟加载是没有关系的。把关联的一端设置为inverse只是告诉Hibernate忽略关联的这一端,把这端看成是另外一端的一个镜象(mirror)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯