我是靠谱客的博主 乐观小鸭子,最近开发中收集的这篇文章主要介绍java语句重复输入数据库,java – 使用JPA持久保存到数据库中的密钥“PRIMARY”的重复条目...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我有一个错误,JPA持久存在我的数据库中,当我将第二个文件持久存储到数据库时发生错误.我需要导入大量数据集,每个数据集有5张.即使某些相同的数据已经存在,也需要更新每个表.目前我收到以下错误

17:26:35,315 WARN [org.hibernate.engine.jdbc.spi.sqlExceptionHelper] (http-localhost-127.0.0.1-8080-1) sql Error: 1062,sqlState: 23000

17:26:35,316 ERROR [org.hibernate.engine.jdbc.spi.sqlExceptionHelper] (http-localhost-127.0.0.1-8080-1) Duplicate entry '0' for key 'PRIMARY'

我创建数据库的脚本如下:

CREATE DATABASE IF NOT EXISTS sampleDB;

use sampleDB;

CREATE TABLE IF NOT EXISTS `Table1`(`mcc` int(10) NOT NULL,`mnc` int(10) NOT NULL,`operator` varchar(50) DEFAULT NULL,`country` varchar(50) DEFAULT NULL,PRIMARY KEY (`mcc`,`mnc`))ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS `Table2`(`tac` int(10) NOT NULL,`marketingName` varchar(50) DEFAULT NULL,`manufacturer` varchar(50) DEFAULT NULL,`accessCapability` varchar(200) DEFAULT NULL,`model` varchar(50) DEFAULT NULL,`vendorName` varchar(50) DEFAULT NULL,`ueType` varchar(20) DEFAULT NULL,`os` varchar(20) DEFAULT NULL,`inputMode` varchar(20) DEFAULT NULL,PRIMARY KEY (`tac`))ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS `Table3`(`causeClass` varchar(10) NOT NULL,`description` varchar(255) NOT NULL,PRIMARY KEY (`causeClass`))ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS `Table4`(`causeCode` int(5) NOT NULL,`eventId` int(5) NOT NULL,`description` varchar(255) DEFAULT NULL,PRIMARY KEY (`causeCode`,`eventId`) ON UPDATE NO ACTION))ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS `Table5`(`baseDataTableId` int(11) NOT NULL AUTO_INCREMENT,`dateTime` DATETIME NOT NULL,`causeClass` varchar(10) NOT NULL,`ueType` int(15) NOT NULL,`market` int(10) NOT NULL,`operator` int(10) NOT NULL,`cellId` tinyint(2) DEFAULT NULL,`duration` smallint(7) DEFAULT NULL,`causeCode` int(5) NOT NULL,`neVersion` varchar(7) DEFAULT NULL,`imsi` varchar(255) DEFAULT NULL,`hier3Id` varchar(255) DEFAULT NULL,`hier32Id` varchar(255) DEFAULT NULL,`hier321Id` varchar(255) DEFAULT NULL,PRIMARY KEY (`baseDataTableId`))ENGINE=InnoDB;

Java Hibernate属性

我的Hibernate属性如下:

xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="

http://java.sun.com/xml/ns/persistence

http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

java:jboss/datasources/MysqLDS

Java的

实体类示例:

@Entity

@Table(name = "Table3")

public class Table3 {

@Id

private int causeClass;

private String description;

public Table3(){}

public Table3(int causeClass,String description) {

super();

this.causeClass = causeClass;

this.description = description;

}

// getters & setters

}

任何想法如何解决这个问题?

最后

以上就是乐观小鸭子为你收集整理的java语句重复输入数据库,java – 使用JPA持久保存到数据库中的密钥“PRIMARY”的重复条目...的全部内容,希望文章能够帮你解决java语句重复输入数据库,java – 使用JPA持久保存到数据库中的密钥“PRIMARY”的重复条目...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部