使用Hibernate维护多对多关系时,每次执行程序,第三方表都会先清空在建立关联。
使用Hibernate处理many to many的关系时,每次执行程序,都会发出一个delete语句,将之前的第三方表清空,然后再重新建立关系。
后来仔细看了一下自己的程序有一个地方写有问题,
上面不应该新建一个Set集合,然后调用teacher的setCourse()方法,这样每次调用,集合都是新建立的,所以会由Hibernate生成一个delete语句,正确的做法:应该由teacher.getCourse()方法获取到原有的集合,再进行添加。