Your collection is lazy, so the Set of children isn't initialized and read from the db when you call that first load command. When you call parent.getChildren().size(); is when it finally loads that collection and reads the children from the database.
session.clear(), as noted by the apis
Quote:
Completely clear the session. Evict all loaded instances...
which removes any references between that object and the open session. Which means you cannot load an object's children after you clear the session.