背景,目前在做的项目有孩子跟家长两个表,一孩子对多家长的关系。主键id都是自增
如果需要给已经存在的孩子添加一个新家长的时候,会出现org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist: com.kids.pt.entity.Kid;
Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: com.kids.pt.entity.Kid
异常信息就是你需要保存一个kid,save()方法调用的时候id不为null,因为手动配置了id之后保存的时候数据库又是自增主键,所以会出错。
然后项目dao里面一顿找没有找到saveOrUpadate()之类的可用,然后一直百度发现原来jpa里面的persist()方法跟merge()方法就是类似于save()跟saveOrUpadate()的关系
/*以下内容来自百度