我有一个像这样的实体:
public class User {
@Column(name = "password")
@Element(name = "pass", data = true)
private String password;
}
我想要的是默认情况下不会在查询中读取/填充字段密码。但在某些情况下,我当然希望检查PWD,在这种特殊情况下,应该在User对象中通过openJPA读取和填充PWD。 p>
我可以使用哪种Fetch策略或JPQL查询来实现此目的? 我认为FetchType.Lazy仅适用于连接表而不是单个字段。 此外,我无法想象一个JPQL查询,我可以告诉openJPA覆盖此FetchType并加载此字段,以防我确实需要它进行PWD检查。
非常感谢! 塞巴斯蒂安
答案 0 :(得分:3)
实际上,可以将单个字段设置为延迟加载。只需使用延迟提取策略添加@Basic注释,如下所示:
public class User {
@Basic(fetch = FetchType.LAZY)
@Column(name = "password")
@Element(name = "pass", data = true)
private String password;
}
此处提供了更多详细信息:http://openjpa.apache.org/builds/1.1.0/docs/jpa_overview_meta_field.html#jpa_overview_meta_fetch