我有一个web服务,它本质上是DAO的包装器。我正在调用web服务/DAO来请求一个实体集合。
“父”实体类包含“子”实体对象的集合,即一对多关系。获取“父”实体集合(即myDAO.findAll())的DAO方法调用返回时没有问题,但是web服务调用的最终结果是这个异常:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Station.observations, no session or session was closed
一些背景信息:
我有两个实体
我正在使用Castle ActiveRecord编写web应用程序,每当我试图访问相关对象的延迟加载列表时,我都会得到这个异常。下面是我的代码:
using(new SessionScope())
{
foreach (var field in eventObj.RegistrationFields)
{
//Do something with the field here...
}
}
RegistrationFields属性如下所示:
在一个运行了相当一段时间而没有任何更改的应用程序中,我得到了异常。
failed to lazily initialize a collection of role: ... , no session or session was closed
可能的原因是什么,突然之间?这种方法在过去3年中得到了成功的测试和使用。
谢谢你的帮助,艾尔
P.S.环境: JSP、Spring、Hibernate、MySQL
我需要帮助才能找到修复此错误的方法:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.example.myproject.domains.Person.tasks, could not initialize proxy - no Session
at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(Abstr
当我的程序在Windows XP上启动到MS SQL 2005 EXPRESS DB的连接时,有时会出现此异常。有时我会遇到这个错误,有时又不会...NHibernate v3
DBMonitor类在单独的线程上运行,但只在一个线程上运行,将来可以在多个线程上运行。
我有类似的SessionProviderMsSql2005类,但仅用于SQLite连接,它有相同的问题和会话提供程序,因为sqlite运行在多个线程上...
System.NullReferenceException: Object reference not set to an instance of an object.
有两个JPA实体:具有一对多关系的User和Order。
/**
* User DTO
*/
@Entity
@Table(name="user")
public class User implements Serializable {
private static final long serialVersionUID = 8372128484215085291L;
private Long id;
private Set<Order> orders;
public User() {}
@Id @Generated
我使用Dozer从一个对象映射到第二个对象,但是Iam获取了错误:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ... , could not initialize proxy - no Session
当我在为所有集合映射field.size()之前使用时,它可以工作,但它确实很烦人。是否有一些选项可以加载已初始化所有集合的hibernate对象?
下一个问题是Spring和延迟加载。我有下一个服务方法:
@Override
@Transactional(readOnly=true)
public List<A> getA(Long ano, Long idGt) {
List<A> datos = ADAO.getHorariosAnoGt(ano, idGt);
datos.size();
C c = datos.get(0).getB().getC();
return datos;
}
以及下一个实体:
A:
B b; *(LAZY)*
Y y;
B:
C c; *(LA
我在Spring环境中使用hibernate搜索运行搜索,但是在执行查询时,我无法惰性地初始化一个角色集合。
我已经尝试过在其他类似问题中暴露的所有变体。我的实体与另外两个实体有很多关系。
@Entity
@Indexed
public class A extends AbstractAuditableEntity<D, Long> implements
Serializable {
@Column
@Field(index = Index.YES, analyze = Analyze.YES, store =
Store.NO)
private S
在hibernate中加载的默认实体被设置为惰性。我想打开Hibernate中急切的initalization,只需调用方法,然后仍然使用延迟加载:
例如,我有这样的实体:
public class Applications implements java.io.Serializable {
private int id;
private String name;
private Set viewses = new HashSet(0); // here entities views
private Set routeses = new Hash