相关疑难解决方法(0)

在@Query注释中指定查询时,如何使用Spring Data JPA初始化惰性关联?

这是我转换为Spring Data JPA 之前的查询。请注意我以前用来Hibernate.initialize()手动获取小部件的消息的方式。

public Object findWidget(final Widget findMe) {
    Widget widget = getJpaTemplate().execute(new JpaCallback<Widget>() {
        public Widget doInJpa(EntityManager em) throws PersistenceException {
            Query q = em.createQuery("SELECT h FROM " + entityClass.getName() + " h where h.widgetId = ? ");
            q.setParameter(1, findMe.getId());

            Widget found = (Widget)q.getSingleResult();

            //Initialize lazy associations
            if(found!= null){
                Hibernate.initialize(widget.getMessages());
            }

            return found;
        }
    });
    return widget;
}
Run Code Online (Sandbox Code Playgroud)

这就是我的查询功能现在的样子。请注意,没有任何物体可以放入Hibernate.initialize()

@Query("SELECT h FROM Widget h where h.widgetId = ?1 ")
public AccessPoint findWidget(String widgetId); …
Run Code Online (Sandbox Code Playgroud)

spring hibernate jpa spring-data-jpa

1
推荐指数
1
解决办法
3875
查看次数

标签 统计

hibernate ×1

jpa ×1

spring ×1

spring-data-jpa ×1