Tag: fetching strategy

忽略了标准中的Hibernate提取

我有一些类User与LoginSession类有一对多关系(我的User类中有一个LoginSessions集合)。 @Entity(name=”T_User”) public class User() { …. @OneToMany(fetch=FetchType.LAZY, mappedBy=”user”, cascade=CascadeType.ALL) @Fetch(FetchMode.SELECT) @JsonIgnore private Set userLoginSession; …. } 这是LoginSession类: @Entity(name=”T_LoginSession”) public class LoginSession extends BasicDTO { @ManyToOne @JoinColumn(name=”userId”) protected User user; … 我有这个标准: Criteria crit = session.createCriteria(User.class); crit.setFetchMode(“loginSession”, FetchMode.JOIN); crit.createAlias(“userLoginSession”, “session”); crit.add(Restrictions.eq(“session.token”, sessionToken)); crit.setMaxResults(1); crit.setFirstResult(0); crit.setFetchSize(1); 问题是提取始终是懒惰的。 如何让它成为Eager(通过标准,而不是通过属性注释)? 注意: 如果我在private Set userLoginSession上面添加@Fetch注释,则在注释中private Set userLoginSession响应提取(我不会通过标准setFetchMode自定义)。 字段的名称( setFetchMode方法的第一个参数)是否正确? […]