Hibernate的强制加载策略
? ? ? 在hibernate的使用场景中,有的关联对象不需要立即查出,这样可使用fetch="FetchType.LAZY"策略,当需要立即需要特定对象时,可使用hibernate的强制加载策略方法?initialize(Proxy object),其实就是初始化对象的代理,比如在编辑页面里lazy=true,在查看页面里 lazy=false,就要用到强制加载。
?
/** * 获取Prescription中其他扩展属性对象。 * * @param result */private void initializeProperties(PaginationSupport<Prescription> result) {List<Prescription> items = result.getItems();if (items != null && !items.isEmpty()) {List<Prescription> persistenceList = new ArrayList<Prescription>(items.size());for (Prescription prescription : items) {Hibernate.initialize(prescription.getOffice());Hibernate.initialize(prescription.getDoctor());Hibernate.initialize(prescription.getDoctor().getOffice());Hibernate.initialize(prescription.getHospitalDistrict());Hibernate.initialize(prescription.getPatient());persistenceList.add(prescription);}result.setItems(persistenceList);}}?
参考:?http://kennylee26.iteye.com/blog/1025934
http://blog.csdn.net/haydenwang8287/article/details/1798094