org.hibernate.LazyInitializationException-通过web服务访问模型时(Jax ws)
首先,我已经在许多问题和线索中寻找解决方案,但没有人能够回答,这就是为什么我要问它 问题是,我有一个模型,有2个org.hibernate.LazyInitializationException-通过web服务访问模型时(Jax ws),hibernate,jax-ws,Hibernate,Jax Ws,首先,我已经在许多问题和线索中寻找解决方案,但没有人能够回答,这就是为什么我要问它 问题是,我有一个模型,有2个列表,它们被声明为惰性加载,因为它们很重,我不希望每次加载产品时都加载它们。例如,在下面的代码中,两个映射列表都是延迟加载的 class Product{ Integer id; List<CategoryMapping> categoryMappings; List<BrandMapping> brandMappings; }
列表
,它们被声明为惰性
加载,因为它们很重,我不希望每次加载产品时都加载它们。例如,在下面的代码中,两个映射列表都是延迟加载的
class Product{
Integer id;
List<CategoryMapping> categoryMappings;
List<BrandMapping> brandMappings;
}
是否有任何方法可以使webservice方法忽略延迟加载方法,并让列表返回给客户端
是的,请注意,我使用的是Sping、Hibernate和glassfish(所有这些的最新稳定版本),所有类都是注释驱动的创建另一个没有列表的类,并在服务上公开该类。你的意思是我应该在发送到客户端之前加载列表中的数据吗?但是假设我有5000个产品,然后,我需要在5000种产品中分别列出这两个列表,这两种产品最终都不会被使用。我是否有任何方法可以将空白列表发送到客户端或web服务?忽略这些列表。这是唯一的方法吗?似乎没有多少人会因为hibernate没有做任何事情而面临这个问题。如果你发送一个空列表,客户会认为收到的产品没有类别映射。所以,您不想发送一个空列表,但根本不想发送列表。这不是Hibernate问题,而是API设计问题。
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: myproj.model.catalog.Product.brandMappings, could not initialize proxy - no Session