Tuesday, June 8, 2010

Forced Lazy Exception in Hibernate

This code can help you default Hibernate to lazy.

You can create this class:


public class ForcedNonLazyConfiguration extends Configuration {
private static final long serialVersionUID = 1L;
public ForcedNonLazyConfiguration() {}
public ForcedNonLazyConfiguration(SettingsFactory settingsFactory) { super(settingsFactory); }
/**
* @see org.hibernate.cfg.Configuration#add(org.dom4j.Document)
*/
@Override
protected void add(Document doc) throws MappingException {
doc.getRootElement().addAttribute("default-lazy", "false");
super.add(doc);
}
}


When you create your session factory, you want to call this class:


methSessionFactory = new ForcedNonLazyConfiguration().configure("methodology.hibernate.cfg.xml")
.buildSessionFactory();



You can get more information about lazy loading at this website: Lazy Loading.

0 comments: