我叫刀从我的服务为LazyInitializationException中在休眠:无法初始化代理 - 没有会话
@Override
@Transactional
public Product getProductById(int id) {
return productDao.getProductById(id);
}
而在DAO我收到的产品为
@Override
public Product getProductById(int id) {
Product p = sessionFactory.getCurrentSession().load(Product.class, id);
System.out.print(p);
return p;
}
这将运行正常,但如果我更改我的dao类到
@Override
public Product getProductById(int id) {
return sessionFactory.getCurrentSession().load(Product.class, id);
}
我得到org.hibernate.LazyInitializationException:无法初始化代理y - 没有会话。在我刚刚打印产品的视图层中发生异常。我不明白为什么在dao方法的同一行中返回导致视图图层中的异常,但如果将其保存在引用中然后返回它,则工作正常。