- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过在 MYSQL 数据库中使用 JPA 来持久化一个对象。这是我的创建脚本:
CREATE TABLE toolboxAccount (
idtoolboxAccount INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(30) NOT NULL ,
password_2 VARCHAR(30) NOT NULL ,
PRIMARY KEY(idtoolboxAccount));
CREATE TABLE config (
idconfig INT NOT NULL AUTO_INCREMENT,
toolboxAccount_idtoolboxAccount INTEGER UNSIGNED NOT NULL ,
defaultExportPath VARCHAR(255) NULL ,
PRIMARY KEY(idconfig) ,
INDEX config_FKIndex1(toolboxAccount_idtoolboxAccount),
FOREIGN KEY(toolboxAccount_idtoolboxAccount)
REFERENCES toolboxAccount(idtoolboxAccount)
ON DELETE CASCADE
ON UPDATE CASCADE);
CREATE TABLE connection (
idconnection INT NOT NULL AUTO_INCREMENT,
toolboxAccount_idtoolboxAccount INTEGER UNSIGNED NOT NULL ,
url VARCHAR(255) NULL ,
username VARCHAR(30) NULL ,
password_2 VARCHAR(30) NULL ,
site VARCHAR(30) NULL ,
PRIMARY KEY(idconnection) ,
INDEX connection_FKIndex1(toolboxAccount_idtoolboxAccount),
FOREIGN KEY(toolboxAccount_idtoolboxAccount)
REFERENCES toolboxAccount(idtoolboxAccount)
ON DELETE CASCADE
ON UPDATE CASCADE);
CREATE TABLE export (
idexport INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
connection_idconnection INT NOT NULL ,
nameOfExportZIP VARCHAR(255) NOT NULL ,
PRIMARY KEY(idexport) ,
INDEX export_FKIndex1(connection_idconnection),
FOREIGN KEY(connection_idconnection)
REFERENCES connection(idconnection)
ON DELETE CASCADE
ON UPDATE CASCADE);
类是
工具箱帐户实体
@Entity
@Table(name = "toolboxaccount", schema = "", catalog = "toolboxtest")
public class ToolboxaccountEntity {
@Id
@GeneratedValue(generator="my_seq")
@SequenceGenerator(name="my_seq",sequenceName="MY_SEQ", allocationSize=1)
private long idtoolboxAccount;
private String username;
private String password_2;
@OneToOne(cascade = CascadeType.PERSIST)
private ConfigEntity configEntity;
@OneToMany(cascade = CascadeType.PERSIST)
private List<ConnectionEntity> connections;
public List<ConnectionEntity> getConnections() {
return connections;
}
public void setConnections(List<ConnectionEntity> connections) {
this.connections = connections;
}
...
连接实体
@Entity
@Table(name = "connection", schema = "", catalog = "toolboxtest")
public class ConnectionEntity {
@Id
@GeneratedValue(generator="my_seq")
@SequenceGenerator(name="my_seq",sequenceName="MY_SEQ", allocationSize=1)
private long idconnection;
private String url;
private String username;
private String password_2;
private String site;
@Column(name = "idconnection")
public long getIdconnection() {
return idconnection;
}
public void setIdconnection(int idconnection) {
this.idconnection = idconnection;
}
...
ToolboxAccountEntity 的持久化有效,但是当我添加 ConnectionEntity 时,出现以下错误:
Exception in thread "main" javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`toolboxtest`.`connection`, CONSTRAINT `connection_ibfk_1` FOREIGN KEY (`toolboxAccount_idtoolboxAccount`) REFERENCES `toolboxaccount` (`idtoolboxAccount`) ON DELETE CASCADE ON UPDATE CASCADE)
Error Code: 1452
Call: INSERT INTO toolboxtest.connection (PASSWORD_2, SITE, URL, USERNAME) VALUES (?, ?, ?, ?)
bind => [4 parameters bound]
最佳答案
2 件事:
1) 如果要进行插入操作,请确保数据库中不存在该记录。
2) 如果要进行更新操作,请确保该记录存在于数据库中。
3) 记住记录必须是良好的关系,主键,外键。
当记录已经存在时,这种错误很常见。
问候!如果您更正了问题,请告诉我们
关于java - 内部异常 : com. mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998658/
我有一个闭源升级应用程序,它将我的数据库从旧格式迁移到新格式(创建新表并将数据从旧表迁移到新表)。 应用程序崩溃并出现 MySQLIntegrityConstraintViolationExcepti
我将 JPA 与 Hibernate 和 MySQL 一起使用。 我想要的是捕获MySQLIntegrityConstraintViolationException来获取unicity约束违规,并显示
此应用程序,RomeCNN , 使用 Rome 1.5.0遍历 CNN 新闻提要并将 URL 保存到数据库中。数据库拒绝重复链接。 存在 MySQLIntegrityConstraintViolati
我正在开发一个 Web 应用程序,在我提交用户唯一的表单时, MySQLIntegrityConstraintViolationException Duplicate entry -'usernam
mapper: update db_logistics.table_inventory_material set surplusAmount= when i
我真的很难理解为什么会出现这个错误。我得到它指的是我的艺术家实体中的 GLOBAL_ID 字段。我想我一定错过了有关 JPA 内部运作方式的一些信息。让我们考虑这两个实体。 @Entity publi
我似乎无法捕获这个异常,Eclipse 告诉我它“无法解析为类型”。我知道这个异常意味着我正在尝试插入重复的键值,并且我想捕获它并让用户知道。 我是否缺少导入或 jar? 谢谢:) 最佳答案 您必须首
有没有办法在插入/删除期间禁用此功能? 情况:我有一个 masterDB 和一个library1DB 和library2DB。 library1DB 和library2DB 是两个独立的数据库,但具有
当我执行EntityManager.find()时,抛出以下异常: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstrain
我四处搜寻,但找不到任何帮助。 我正在尝试创建一个用户,但有 2 个字段始终为空(名字和部门)。 GUI (html): Firstname:
我想从 studentinfo 和 studentmarks 这两个表中获取数据。 我将 Join 与 where 子句一起使用,但它会显示: ConstraintViolationException
使用 java.sql。 使用以下类对数据库对象执行操作: public class TaskBusinessLogic { private TaskDao taskDao = null;
我正在运行 Spring Batch 并使用 JdbcPagingItemReader .使用示例配置: 我收到与以下相关的错误: Column 'id' in order clause
将新对象保存到Users表时,我在此方法调用上遇到MySQLIntegrityConstraintViolationException。 sessionFactory.getCurrentSessio
我有家长 Filter实体和一个方向Listads作为 @OneToMany 的 child 关系。我尝试使用 Hibernate hql 删除超过一周的广告查询但得到: com.mysql.jdbc
我有两个名为 Qa.java 和 Answeres.java 的实体类 我的 Qa 实体由答案列表组成。 Qa.Java @Entity @Table(name = "qa") public clas
我的观点add.scala.html是这样的 因此,如果我添加一个产品,它会显示在同一屏幕上,并且我有一个删除按钮来删除产品。我的问题是,当我添加新产品时,它工作正常,但是当我在删除任何产品后添加一个
我有两个 java hibernate 实体: @Entity public class Match_soccer extends Match{ @Id @GeneratedValue
我有一个查找表“婚姻状况”和“雇员”表。 定义到员工中的外键,用于定义该员工的婚姻状况,此列接受空值(不是必需的)。 现在我正在使用 hibernate 和 spring mvc。问题是,我正在从下拉
这个问题已经被问过很多次了,但我没有找到任何好的答案,所以我会再问一次。 我有如下的父子单向关系: @Entity @Table(name = "PARENT") public class Paren
我是一名优秀的程序员,十分优秀!