起名字什么的太麻烦了

起名字什么的太麻烦了

首先要明白延迟加载lazy的作用。

先简述一下lazy:

lazy表示的是该属性是否懒惰加载,默认值是 true,当值为 true 的时候你在查询主对象,不会立即加载该属性值,反之则立即加载。例如:现有实体User有一个地址属性,配置为:<many-to-one name="address" class="com.my.entity.Address" lazy="false"/>,当你在查询User时不会立即加载它的address属性,而是在你用到address属性时它再自动加载,如果你一直没有用到address,那么address属性就一直不会被加载,而当lazy=false时,则是在你查询User时就立刻加载它的address属性

那么fetch相当于在程序里设置了lazy=false,如果在lazy=true中去掉了fetch,那么下面这种语句会报错

from SysDict as s left join fetch s.parent where s.isEnabled = true order by s.nature, s.order

03-09 04:27