Our app fails to scale sufficiently and I'd traced our problems to eager loading of all OneToOne relations when any single one is accessed. I would like to fix that but wanted to get feedback first. I'm referring to Hibernate Core 3.3.1.GA below:
Currently in AbstractFieldInterceptor.intercept(): "uninitializedFields = null; //let's assume that there is only one lazy fetch group, for now!" proposed fix: -after 'result' is returned call uninitializedFields.remove(fieldname). Question: should this only be done if result != null? And then AbstractEntityPersister.initializeLazyProperties() calls methods that initialize *all* properties even though a specific fieldname is supplied: * initializeLazyPropertiesFromDatastore or * initializeLazyPropertiesFromCache Proposed fix: -In both cases, determine appropriate 'j' value by searching lazyPropertyNames for 'fieldName' -only call nullSafeGet, and initializeLazyProperty( fieldName, entity, session, snapshot, j, propValue ) once. What do folks think? Thanks, -nikita _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev