In this case it is not possible to do the change with only UPDATE sql statements, since you will always get a duplicate for the first update. Instead you have to force Hibernate to first DELETE all links and then INSERT the new elements. This can be done by de-referencing the original list. Eg. The A.getAssocList() should return a different list object than Hibernate passed to the A.setAssocList(). See
http://www.hibernate.org/hib_docs/v3/re ... shotdelete
The de-referencing should only be done when you actually need it, otherwise Hibernate will delete an re-insert the elements in the list every time A is used in a transaction.