Lazy-Load Spring .Net在不同的交易中

时间:2013-07-26 14:28:18

标签: spring nhibernate fluent-nhibernate lazy-loading spring.net

正如春天的行为一样。如果我得到一个对象,你的孩子在事务中将它们设置为延迟加载,但我只是尝试在另一个事务(其他范围)中访问这些属性(子)?

该属性是否会正常加载数据库,或者会出现之前未加载的错误?

例如:

//view layer
public class ViewLayer
{

public void Test()
{
   ParentObject obj = service.GetParent();
   service.LoadChilds(obj);
}

}
//service layer
public class ServiceLayer
{

[transaction]
public ParentObject GetParent()
{
   return dao.GetParent(); //Here not load the childs because they are set to lazy-load
}

[transaction]
public void LoadChilds(ParentObject obj)
{
     obj.Child1 = obj.Child; //Here access the property for lazy-load get the value.
     obj.Child2 = obj.Child2; //without access the dao layer
}

}

0 个答案:

没有答案