The saveDB() call that I added previously to sort out the junit problems doesn't work in practise - it will cause an exception when the entire node is deleted.
Upgraded Hibernate to 3.0. Using the open session filter pattern to avoid problems with Spring closing the session but objects not being fully loaded (due to lazy loading).