You should be able to just update the relationship(s) and have hibernate move it without having to delete and re-create.
Are you using bidirectional many-to-one associations? In that case one side is the master relationship and the other is just a backpointer that does not "drive" the association. The backpointer side should be marked "inverse=true" in the mappings.
In this case you need to be sure to update the right side of the bidirectional association so that the data is saved. Best practice is to do both updates with a pattern where each set updates the other link also via an addXxx() method that sets both relationships.
see:
http://www.hibernate.org/116.html#A10