- 浏览: 293574 次
- 性别:
文章分类
- 全部博客 (105)
- windows (6)
- spring (5)
- hibernate (6)
- log4j (3)
- html (8)
- Servlet (2)
- mysql (4)
- java (18)
- tomcat (5)
- 数据库 (4)
- eclipse (5)
- css (2)
- word (1)
- javascript (8)
- 手机 (5)
- 日志 (1)
- linux (9)
- ssh (1)
- 线程 (1)
- dom (2)
- 算法 (1)
- android (4)
- xp (1)
- http (4)
- web (3)
- 生活 (6)
- oracle (9)
- shell (4)
- plsql (2)
- ubuntu (9)
- 网络配置 (1)
- 编辑器 (2)
- C (1)
- C++ (2)
- cygwin (1)
- CDT (2)
- ios (1)
- g++ (1)
- gcc (2)
- 魔方 (1)
- chrome (2)
- 购物 (1)
- 游戏 (1)
- 模拟器 (1)
- weblogic (3)
- OSGi (1)
- transaction (2)
- fusioncharts (1)
- jta (1)
- 加密 (1)
- RSA (1)
- jBPM (2)
- jboss (1)
- wildfly (1)
- 电子书 (1)
- example code (1)
- redis (1)
- jemalloc (1)
- libc (1)
- sokect (1)
- nio (1)
- office (1)
- elastic-job (1)
- zookeeper (1)
- quartz (1)
- webservice (3)
- axis (1)
- CentOS7 (1)
- VM (1)
- hbase (3)
- maven (1)
- 硬件 (1)
- 单片机 (1)
- 电路图 (1)
- axis2 (1)
- jaxws (2)
- vpn (1)
- pptp (1)
- CKFinder (1)
- utf-8 (1)
- jdk (2)
- tail (1)
- cmd (2)
- srvany (1)
- rktool (1)
- python (1)
- tensorflow (1)
- 字符编码 (2)
- wget (1)
- ftp (1)
- jsp (0)
- nginx (1)
- openlayer (1)
- GEO (1)
- geojson (1)
- wgs84经纬度坐标系 (1)
- wgs84 墨卡托投影坐标系 (1)
- 连接池 (1)
- jdbc (1)
- druid (1)
- 文档 (0)
- iso week (1)
- date (1)
- golang (0)
- vscode (0)
- fiber (0)
最新评论
-
cybersnow:
恩不错,谢谢
The 'manifest_version' key must be present and set to 2 (without quotes). -
LinApex:
这样效率很低哦
在js、css中嵌入java/jsp代码 -
bnmnba:
369485270 写道楼主在吗 你这个注解方式根本就不行 ...
hibernate 获取实体的表名、主键名、列名 -
黄浦江:
Mysql 5.6.5 noInstall 版本下没有my.i ...
Can't connect to MySQL server on 'localhost' (10061) -
369485270:
楼主在吗 你这个注解方式根本就不行 报错啊 org.hibe ...
hibernate 获取实体的表名、主键名、列名
我遇到这个问题的原因是:把主键作为外键关联到了其他表的主键。
在实体Product:
package pp.entity; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.DiscriminatorColumn; import javax.persistence.DiscriminatorType; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table @Inheritance(strategy=InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name="type",discriminatorType=DiscriminatorType.STRING) @DiscriminatorValue("product") public class Product extends Goods{ @OneToMany(targetEntity=ProductAssembleRecord.class,fetch=FetchType.LAZY,cascade={CascadeType.PERSIST,CascadeType.MERGE}) @JoinColumn(name="productAssembleId",insertable=true,updatable=true)//成功的 private List<ProductAssembleRecord> productAssembleRecords=new ArrayList<ProductAssembleRecord>(); //..... }
配置一对多时:@JoinColumn(name="productAssembleRecordId",insertable=true,updatable=true)(错误的。)
实体ProductAssembleRecord:
@Entity @Table public class ProductAssembleRecord implements IEntity { @Id @GeneratedValue(strategy=GenerationType.AUTO) private int productAssembleRecordId; //...... }
看起来这样的配置会导致ProductAssembleRecord的主键productAssembleRecordId会作为外键映射到实体Product的主键goodsId(这个是其父类的主键,同一个表所以共享,不用管它)。我如果插入第一个ProductAssembleRecord没有问题,因为productAssembleRecordId能找到一个goodsId(只有一条数据)来外键关联。第二次就会失败,因为主键会自动增长。
解决:把@JoinColumn(name="productAssembleRecordId",insertable=true,updatable=true)
换做:@JoinColumn(name="productAssembleId",insertable=true,updatable=true)
从新建立表结构。ok。实体ProductAssembleRecord对应的表多了一个叫productAssembleId列(我的表结构是用实体生成的)。
发表评论
-
Linux Centos 7.2 JDK 1.7.0 Tomcat8.5 部署的web应用(连接池druid),长时间不用后,再次访问很慢卡住
2019-11-07 15:17 1015JDK 1.7.0 + Tomcat 8.5 部署的web ... -
Windows服务器终结者
2018-05-18 14:57 516windows服务器终结者。 作用:远程访问服务器 ... -
linux wget命令下发FTP时,包含中文路径提示文件不存在,无法下载文件解决方法
2017-12-01 16:09 3359文件不存在的原因是因为编码不同,服务器认为请求地址的 ... -
linux乱码,文件名乱码、文件内容乱码,JDK编码。 CKFinder文件名称乱码 (使用UTF-8解决)
2017-07-15 14:46 1753我遇到一个问题,CKFinder后台获取到的文件名是问号。 ... -
带图片上传文件上传的CKEditor(java实现后台文件存储)
2016-07-14 16:04 1141解压后放到web项目webapp文件夹里,空文件夹up ... -
java 非阻塞sokect客户端
2016-05-16 17:30 997网上有比较多的服务端非阻塞的nio示例代码。 但客户端基 ... -
非对称加密、公钥和私钥简要说明,Java实现RSA加密/解密/签章/验章
2016-03-05 21:29 1701提示: 1、公钥加密只能用私钥解密。 2、私钥加密只能 ... -
二维数组绕圈赋值
2013-08-22 16:54 900小例子一个: package pack; publ ... -
eclipse java debug 修改变量
2013-08-13 11:05 11211.加入断点。 2.开始调试。 3.打开透视图Windo ... -
Session
2013-06-22 11:29 932一篇session讲解的文章: http://www.c ... -
Java动态代理模式
2013-03-13 18:17 1391动态代理可以模拟实现一个接口指向一个未实现这个接口的 ... -
01背包问题
2012-08-30 19:09 1105动态规划:http://zh.wikipedia.org/zh ... -
线程、线程池、threadlocal
2012-08-16 15:26 1746一个线程池里放两个线程、四个任务(runnable)。两个线程 ... -
用log4j向数据库写日志
2012-03-29 11:44 1631Log4j写入数据库详解原文:http://blog.c ... -
mysql 数据类型 JAVA 类型 对照
2012-02-24 11:53 1171mysql 数据类型 JAVA 类型 对照 http://z ... -
eclipse:failed to create the java virtual machine
2012-02-13 13:18 1058eclipse启动报错:failed to create th ... -
Spring Autowire自动装配
2012-02-13 11:56 1093如果你发现你正在研究的一个基于spring的项目的某个方法被奇 ... -
spring 声明式事务配置,主动抛出异常不回滚。
2012-02-10 15:30 10433默认spring只在发生未被捕获的RuntimeExcep ... -
java floa转到doublet精度变化,数值变化
2012-02-09 17:17 1121看以下程序的输出结果: public void tes ... -
hibernate+mysql float类型无法插入小数
2012-02-09 16:43 2652往数据库里面插入小数,结果被四舍五入为整数。当时看见这个情况让 ...
相关推荐
当尝试删除一个表而该表包含其他表所依赖的字段时,MySQL会抛出错误1217(23000),提示“Cannot delete or update a parent row: a foreign key constraint fails”。为了解决这个问题,我们可以利用MySQL中的一个...
在SSM项目中执行一个删除用户操作时报错,遂在navicat中尝试是否可以直接删除,报如下所示错误 student表的主键是selectedcourse表的外键,当需要删除student表内的一行数据时,必须在selectedcourse表内设置该外键...
这篇文章主要涉及到在数据创建表时,遇到ERROR 1215 (HY000): Cannot add foreign key constraint 问题方面的内容,对于在数据创建表时,遇到同样问题感兴趣的同学可以参考一下。 一、问题的提出 创建两个表: ...
(1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) ...
Foreign Key Constraint Fails(亲测可用).md
当试图删除一个被其他表的外键引用的行时,MySQL会抛出错误[Err] 1451,提示“Cannot delete or update a parent row: a foreign key constraint fails”,阻止操作执行,以防止破坏数据的完整性。 解决这个问题的...
"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'a3b6420a-6724-11ea-b2a3-d773d1d6999f' for key 'callId'\nThe SQL being executed was: INSERT INTO `ly_call` (`call_id`, `mobile`, ...
9. 错误1452: Cannot add or update a child row: a foreign key constraint fails 外键约束失败通常发生在尝试删除或更新父表中的记录,而子表中仍有关联的记录。在执行操作前,先检查并处理好外键约束。 10. 错误...
7. 错误代码1452: "Cannot add or update a child row: a foreign key constraint fails",意味着你尝试添加或更新的数据违反了外键约束,父表中没有对应的记录。 8. 错误代码1366: "Incorrect integer value: '...
持久化异常是指在使用 Mybatis 更新数据库时,报错 Cannot delete or update a parent row: a foreign key constraint fails。这种异常的原因是因为在更新 user 表时,未更改外键值 user_id,导致外键约束失败。解决...
Cannot delete or update a parent row: a foreign key constraint fails (...) 这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。 SET ...
Failed to resolve: com.android.support.constraint:constraint-layout:1.0.0-alpha1
在Django框架中,`ForeignKey`是一个非常重要的字段类型,用于建立两个模型之间的关联,它在概念上等同于数据库中的`FOREIGN KEY`约束。然而,两者在实际使用中有一定的区别。`ForeignKey`在Django中主要是逻辑层面...
The foreign key in a table T1 _____ the same _____ as the corresponding primary key in table T2. must have, name need not have, name must have, domain (a) I, II, and III (b) I and II (c) ...
在SQL数据库设计中,FOREIGN KEY约束是一种重要的机制,它用于维护数据的引用完整性,确保表之间的关联数据是有效的。当我们尝试使用INSERT语句插入数据时,如果违反了FOREIGN KEY约束,就会出现“INSERT语句与...
在数据库技术中,外键(Foreign Key)是一个重要的概念,它是关系数据库模型中用来实现数据表之间关联的机制。本文将深入探讨外键的含义、作用、定义方式以及如何在SQL语言中创建和使用外键。 一、外键的含义与作用...
DROP FOREIGN KEY constraint_name; ``` 3. MySQL 批量更新操作 在 MySQL 中,可以使用`UPDATE`语句结合`CASE`语句来执行批量更新操作。例如,要根据条件更新多个行: ``` UPDATE table_name SET column_name = ...
错误提示:`Cannot delete or update a parent row: a foreign key constraint fails`. 5. **移除外键约束**: - 可以通过ALTER TABLE命令移除已有的外键约束。 ```sql ALTER TABLE xiaodi DROP FOREIGN KEY ...