本文主要是介绍column: id (should be mapped with insert=“false“ update=“false“),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
底层orm框架用的是jpa,之前已经有设置了一个表与表之前的一个关联关系,对应到某一个实体中,就会有这么一个注解,如下:
@ManyToOne@JoinColumn(name = "xxxId", referencedColumnName = "xxxId")protected User user;
,以上是角色实体的某一个用户对象字段,该实体和用户实体是一对多的关系,此时为了提高大批量用户导入的性能,准备区分开来批量新增用户和角色数据,所以需要在角色集合对象里设置上用户的id,这就是模拟的一个类似背景,此时最简单的想法就是角色对象里要新增一个userId,如下:
@ManyToOne@JoinColumn(name = "xxxId", referencedColumnName = "xxxId")protected User user;@Column(name = "user_id")protected Long userId;
此时启动服务就报了上述的错误。
解决方案
我这里采用的方案就是不用userId了,既然用了jpa,那就用吧,除非真的是要既要user实体又要id,我是没想出来应用场景,所以我删除了userId这个字段,设置关联关系时,user对象肯定是会先创建出来的,所以角色对象直接就设置对应的user对象即可。
这篇关于column: id (should be mapped with insert=“false“ update=“false“)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!