我有一个与国家/地区实体映射的 userAccount 实体。 UserAccount 类中的国家/地区映射如下
@ManyToOne(fetch=FetchType.EAGER)
@Fetch(FetchMode.JOIN)
@JoinColumn(name="f_country_id", nullable=true, insertable=false, updatable=false)
private Country country;
即使 fetchmode 定义为 Join,hibernate 也会触发一个单独的 SQL Select 来获取国家/地区。
去除fetch=FetchType.EAGER
。急切获取会触发级联选择语句。
如果您使用显式 HQL 查询,例如“from User where Something = someValue”,Hibernate 将不尊重带注释的 Fetch 模式。您需要在 HQL 查询中指定联接或在条件中指定获取模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)