我想在实体示例中使用带有DAO的FetchProfile。
这是我的实体的注释:
@FetchProfiles({ @FetchProfile(name = "example-profile", fetchOverrides = {
@FetchProfile.FetchOverride(entity = Example.class, association = "association1", mode = FetchMode.JOIN),
@FetchProfile.FetchOverride(entity = Example.class, association = "association2", mode = FetchMode.JOIN) })
})
这是我的DAO:
@Autowired
private SessionFactory sessionFactory;
public Example getExample(Long id) {
sessionFactory.getCurrentSession().enableFetchProfile("example-profile");
return (Example) sessionFactory.getCurrentSession().get(Example.class, id);
}
当我调用getExample时,我遇到了这个异常:
org.hibernate.UnknownProfileException:Unknow fetch profile [example-profile]
我是否缺少地图或其他内容?
答案 0 :(得分:0)
请确保SessionFactory
加载具有此类 @FetchProfiles 的实体。
答案 1 :(得分:0)
修
@Autowired
private SessionFactory sessionFactory;
public Example getExample(Long id) {
Session session = sessionFactory.getCurrentSession();
session.enableFetchProfile("example-profile");
sessionFactory.getCurrentSession().enableFetchProfile("example-profile");
return (Example) sessionFactory.getCurrentSession().get(Example.class, id);
}