0

我想将 FetchProfile 与我的 DAO 一起用于实体示例。

这是我的实体上的注释:

@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:未知获取配置文件 [example-profile]

我错过了映射还是什么?

4

2 回答 2

0

请确保您的具有此类@FetchProfiles的实体由SessionFactory.

于 2012-05-25T15:52:01.947 回答
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);
}
于 2016-05-30T15:40:59.663 回答