Use Hibernate.isInitialized() in Parent/Child example
-----------------------------------------------------
Key: HHH-5925
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5925
Project: Hibernate Core
Issue Type: Improvement
Components: documentation
Affects Versions: 3.6.1
Environment: doesn't matter
Reporter: Robert Wruck
Priority: Trivial
In chapter 24.2 (Example: Parent/Child, Bidirectional one-to-many) it is suggested to use
an addChild method defined as:
public void addChild(Child c) {
c.setParent(this);
children.add(c);
}
This leads to bad performance as children.add will always initialize a lazy collection
even if it doesn't have to.
A more efficient solution would be
public void addChild(Child c) {
c.setParent(this);
if (Hibernate.isInitialized(children))
children.add(c);
}
which only adds the child to the inverse collection if needed to ensure consistency.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira