Приветствую. Я разрабатываю не веб-приложение, используя Spring + Hibernate.
Мой вопрос заключается в том, как HibernateDaoSupport обрабатывает отложенную загрузку, потому что после вызова DAO сеанс закрывается.
Взгляните на следующий псевдо-код:
DAO это как:
CommonDao extends HibernateDaoSupport{
Family getFamilyById(String id);
SubFamily getSubFamily(String familyid,String subfamilyid);
}
Доменная модель похожа на:
Family{
private List<SubFamily> subfamiles;
public List<SubFamily> getSubFamiles();
}
SubFamily{
private Family family;
public Family getFamily();
}
В приложении я получаю DAO из контекста приложения и хочу выполнить следующие операции. Это возможно сделать с отложенной загрузкой, поскольку AFAIK после каждого метода (getFamilyById (), getSubFamily ()) сеанс закрывается.
CommonDAO dao=//get bean from application context;
Family famA=dao.getFamilyById(familyid);
//
//Do some stuff
List<SubFamily> childrenA=fam.getSubFamiles();
SubFamily asubfamily=dao.getSubFamily(id,subfamilyid);
//
//Do some other stuff
Family famB=asubfamily.getFamily();