hibernate merge 方法未生效
发现问题:
鉴于 merge 方法的底层操作复杂,为了查找原因,将merge 方法分解为 update方法 和 save 方法,继续操作还是未能成功保存,这就肯定是自己的问题了,感觉和实体类有关,后来发现实体类上的注解
@Table(name = "xxx",schema = "xxx")
说明,name 表示 对应的表名,schema 表示 数据库名
后来发现此时数据库名已经不再是之前的数据库了,jdbc 链接中指定的是另一个数据库,所以执行这些操作,最后hibernate 去关联表时,找不到表,就没执行成功
修改
将 schema 属性去掉,由于我们在 jdbc 链接中一般都指定了数据库名,最好不要在实体类上在去重复指定数据库的名字,没必要,而且换了数据库了,每个实体类都要修改,只有多数据源的情况下,需要特别指定