column: id (should be mapped with insert=“false“ update=“false“)

2024-03-09 13:44

本文主要是介绍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“)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/790844

相关文章

org.hibernate.hql.ast.QuerySyntaxException:is not mapped 异常总结

org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select u from User u where u.userName=:userName and u.password=:password] 上面的异常的抛出主要有几个方面:1、最容易想到的,就是你的from是实体类而不是表名,这个应该大家都知道,注意

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {

集群环境下为雪花算法生成全局唯一机器ID策略

雪花算法是生成数据id非常好的一种方式,机器id是雪花算法不可分割的一部分。但是对于集群应用,让不同的机器自动产生不同的机器id传统做法就是针对每一个机器进行单独配置,但这样做不利于集群水平扩展,且操作过程非常复杂,所以每一个机器在集群环境下是一个头疼的问题。现在借助spring+redis,给出一种策略,支持随意水平扩展,肥肠好用。 大致策略分为4步: 1.对机器ip进行hash,对某一个(大于

Hibernate插入数据时,报错:org.springframework.dao.DataIntegrityViolationException: could not insert: [cn.itc

在用junit测试:插入数据时,报一下错误: 错误原因: package junit;import org.junit.Test;import cn.itcast.crm.container.ServiceProvinder;import cn.itcast.crm.dao.ISysUserDao;import cn.itcast.crm.domain.SysRole;

在实现回显功能模块的时候,把ID设置成全局变量了

在hsapprove.jsp中: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><script type="text/javascript">function edittodayhs(hsid){//alert(hsid);//

PL/SQL工具创建Oracle数据库表,实现id字段的自动递增

通过PL/SQL工具,创建Oracle数据库表,如何实现字段ID自动递增; Oracle的自增需要依靠序列和触发器共同实现 比如:先创建一个表 create table test (id int primary key, name varchar2(10)); 创建一个序列 create sequence test_seq increment by 1 start with 1  min

分布式项目中使用雪花算法提前获取对象主键ID

hello,大家好,我是灰小猿! 在做分布式项目开发进行数据表结构设计时,有时候为了提高查询性能,在进行数据库表设计时,会使用自增ID来代替UUID作为数据的主键ID,但是这样就会有一个问题,数据的自增ID应该如何获取到下一个ID并且插入到库中呢? 如果你使用的是mybatisPlus,可以使用自带的自增注解加在id字段上即可,这样在数据入库时就可以自动给数据赋值自增的主键ID, 但是对于不

apt-get update更新源时,出现“Hash Sum mismatch”问题

转载自:apt-get update更新源时,出现“Hash Sum mismatch”问题 当使用apt-get update更新源时,出现下面“Hash Sum mismatch”的报错,具体如下: root@localhost:~# apt-get update ...... ...... W: Failed to fetch http://us.archive.ubuntu.com/ub

MySql 1264 - Out of range value for column 异常

前段时间操作数据库,本是一个很简单的修改语句,却报了  1264 - Out of range value for column字段类型官网  当时一看懵逼了,网上很多都说是配置的问题,需要修改my.ini文件,这个方式我没有试过,我想肯定还有其它方法,经过慢慢排 查发现表里的字段为 decimal(10,3) ,这说明小数点前只有7位,保留了3位小数点,而值在小数点前却有8位,这就导致了错误

在JavaScript当中,为什么NaN===NaN和NaN==NaN返回false?

作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:vscode chrome 今天这个话题的缘由是早上和一位同专业的学长聊天,他在公司完成了一个项目,项目当中有一个40个字段的返回值,于是牵扯到了某道他遇到的面试题,其中是需要用js找到某个数组当中null的索引,然后他问了我这样一个问题:你觉得NaN===NaN吗?当时我回答了不等于,然后他又追问为什么,