添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
使用SpringDataJpa保存(save)报错误:SQL Error: 1062, SQLState: 23000 控制台会报:Duplicate entry ‘数‘ for key ‘PRIMA
最新推荐文章于 2023-06-26 09:22:43 发布
最新推荐文章于 2023-06-26 09:22:43 发布 阅读量 1.2k 由于save方法的入参是一个实体对象,如果传入的实体对象的某些属性值为空(null),则最后 JPA 在更新时会把对应的字段也尝试更新为空(null),而实际上你可能只想更新所更改过的字段,对于空值字段你希望自动忽略不更新。save方法在更新DB时一个最大的特点是:默认每次都会先去查一遍DB,对查出来的DB 据与要 保存 据进行比较,看是否有变化,若有变化,才会将 据持久化至DB(执行 据的update),否则,就不会进行 据的持久化。1、在执行更新操作后,调用flush()方法。 完整的 错误 日志: WARN o.h.e.j.s. Sql ExceptionHelper:145: SQL Error : 1062 , SQL State : 23000 2022-03-01_15:28:49 [http-nio-8080-exec-1] ERROR o.h.e.j.s. Sql ExceptionHelper:147: Dupli cat e entry '75302-16969' for key 'customer_menu_id' 2022-03-01_15:28:49 [http-nio 举例:实体对象 order,通过 refundOrderId关联于 RefundOrderItem表,在新建实体 order中 ,同时需要新建 refundOrderItems,这样如果只是 保存 order实体,refundOrderItems也会 保存 信息,但是在RefundOrderItem表上并没有 据。ps:在实体中的级联级别为 All@OneToMany(cascade... · 这个问题是因为本表是因为对于一个关联的外键表存在一个唯一约束,然而你又对于这个唯一约束新增了一个同样的字段。所以需要你去查看 新增这个关系表对应的外键是否存在,或者 JPA 一对多的关系是否选择的是同时合并、和同时持久化操作。如果是同时持久化操作就会在更新外键表的时候自己修改主表(根据主表的ID来修改,如果没有的id 就会帮你新增一个主表 据)。 级联所有实体状态转换 PERSIST Mysql 连接 报错 java . sql . SQL Exception:null,message from server:"Host '27,45,38,132' is not allowed to connect.原因是:远程服务器不允许你的 java 程序访问它的 数据库 。所以,我们要对远程服务器进行设置,使它允许你进行连接。工具 sql developer连接远程的 MySQL 数据库 时,配置连接信息,连接发生... 在 使用 JPA 框架进行 据存储时,调用CrudRepository的save()方法 报错 : org. spring framework.orm. jpa . Jpa SystemException: ids for this class must be manually assigned before calling save(): model对象路径; 我正在尝试教自己一些 Java JPA ,现在这是几天以来什么也没发生的地方。我有两个通过OneToMany关系链接的实体(ITEM和ITEMLIST)。我将ITEM分别 保存 数据库 中。目标是获得一个带有ITEMLIST主键和ITEMS外键的表。但是,当我 保存 第二个ITEMLIST时,会出现“重复...” 错误 。WARN: SQL Error : 1062 , SQL State : 23000 ERROR : D... Caused by: org.hibernate.exception. SQL GrammarException: could not execute state ment at org.hibernate.exception.internal. SQL ExceptionTypeDelegate.convert( SQL ExceptionTypeDelegate. java :80) ~[hibernate-core-4.3.7.Final.jar:4.3.7.Final] Caused b... 在 spring boot 的dao实例继承 Jpa Repository 进行入库save操作时,出现了“ sql error 1064 sql state 42000”,直接是语法 错误 ;理由就是我插入的 据里面包含了中文,越南语,泰语这些多国语言,在入库时插入别识别为乱码了,导致插入失败! 蹦到这个问题时各种翻查: spring boot的 数据库 连接配置, mysql 本身的字符集,库的字符集,表的字符集,字段的字符集,通通查完了,都是utf-8;甚至都 使用 上string.getbytes("utf-8")了,依然无