我有一个简单的问题。我发现我们的项目与此Hibernate配置:休眠XML映射:延迟假或提取选择?
<many-to-one name="employee"
class="com.myapp.Employee"
cascade="merge"
lazy="false"
fetch="select">
<column name="employee_id"
sql-type="bigint"
not-null="true"/>
</many-to-one>
不取=“选择”表示“延迟加载所有集合和实体”的基础上Fetching Strategies。但通过编写lazy =“false”的意思是不要延迟加载。所以上面的配置说:“禁用延迟加载,启用延迟加载。”实际上,这意味着该属性是延迟加载?
所以,我可以缩短这个配置为:
<many-to-one name="employee"
class="com.myapp.Employee"
cascade="merge"
fetch="select">
<column name="employee_id"
sql-type="bigint"
not-null="true"/>
</many-to-one>
但不取= “选择”默认模式?所以实际上,我可以声明相同的配置为:
<many-to-one name="employee"
class="com.myapp.Employee"
cascade="merge">
<column name="employee_id"
sql-type="bigint"
not-null="true"/>
</many-to-one>
我说得对吗?错误?想法?由于
如果我想启用延迟加载,我必须补充为lazy = “真”并删除为lazy = “假”?
添加这两个属性不是多余的?他们不会互相否定,对吧? – chris 2010-12-07 08:40:16