报错Could not execute JDBC batch update和java.sql.BatchUpdateException: Duplicate e
最近学hibernate,写了一段代码,第一次执行没问题,第二次执行报错了,想了一下,不应该是其他毛病,且报错是更新(update)出错,估计是第二次执行的时候刚好与第一次执行的结果出现了矛盾,于是去数据库将第一次执行的结果(主码)改了一下,再执行就不会报错了,呵呵(主要原因还是我在配置文件中对Department类和Employee类的id设置了唯一性)
package cn.itcast.hibernate;
import org.hibernate.Session;
import org.hibernate.Transaction;
import cn.itcast.hibernate.HibernateUtils;
import cn.itcast.hibernate.domain.Department;
import cn.itcast.hibernate.domain.Employee;
public class Many2One {
public static void main(String[] args){
add();
}
static Department add(){
Session s = null ;
Transaction tx = null;
try{
Department depart = new Department();
depart.setName("depart name");
Employee emp = new Employee();
emp.setDepart(depart);//因为这一行代码,将Employee和Department关联起来了
emp.setName("emp name");
s = HibernateUtils.getSession();
tx = s.beginTransaction();
s.save(depart);//先保存了depart
s.save(emp);//后保存emp,从而保证了emp中的Department不是空的
tx.commit();
return depart;
}finally{
if(s != null)
s.close();
}
}
}
分享到:
相关推荐
### Hibernate常见错误及解决办法 #### 一、Nodefaultconstructorforentity 错误 **问题描述**:在使用...通过以上分析和解决方案,可以有效地解决Hibernate开发过程中常见的错误,提高开发效率和系统的稳定性。
JDBC不仅是Java平台的标准,还包含了一系列接口和类,如`java.sql.DriverManager`、`java.sql.Connection`、`java.sql.Statement`和`java.sql.ResultSet`等,它们是实现数据库操作的基础。 在压缩包子文件的文件...
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
spring-petclinic-master运行mvn install报错:Failed to execute goal io.spring.javaformat:spring-javaformat-maven-plugin:0.0.19:validate (default) on project spring-petclinic: Formatting violations ...
- `java.sql.Statement`:用于执行SQL语句,包括SELECT, INSERT, UPDATE和DELETE等。 - `java.sql.PreparedStatement`:预编译的Statement,提高了效率,支持参数化查询,防止SQL注入。 - `java.sql....
try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { // 检查响应状态码是否成功 throw new IOException("Unexpected code " + response); } else { String ...
在Java编程语言中,JDBC(Java DataBase Connectivity)是连接数据库的API,允许开发者使用Java语言来访问和操作关系数据库。在本文中,我们将详细介绍JDBC的基础知识点,帮助初学者更好地入门和理解Java中的数据库...
Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update 或者org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: ...
could not execute:bad executable format(win32 error 193) 下了一个实现MD5的代码,编译时没有错误,但是执行的时候却提示:could not execute:bad executable format(win32 error 193)
2. **SQL执行**:允许执行SQL查询和命令,如SELECT、INSERT、UPDATE和DELETE,并处理返回的结果集。 3. **事务支持**:支持ACID(原子性、一致性、隔离性和持久性)事务特性,这对于保持数据的一致性和完整性至关...
Oracle 11g JDBC Jar包是Oracle数据库与Java应用程序之间通信的重要桥梁,它包含了Oracle数据库JDBC驱动程序,使得开发者可以使用Java编程语言来访问和操作Oracle数据库。JDBC(Java Database Connectivity)是Java...
Hive JDBC(Java Database Connectivity)是Hive提供的一种接口,使得其他编程语言,如Java,能够通过JDBC驱动程序与Hive进行交互,实现数据查询、分析和操作。本教程将深入讲解如何使用Hive JDBC在Java项目中建立与...
总的来说,OkGo以其简洁的API和丰富的功能,使得网络请求在Android开发中变得简单而高效。通过以上介绍,你应该能更好地理解和使用OkGo来处理Android应用的网络请求需求。在实际项目中,还可以根据需要自定义拦截器...
Java Web 是一种使用Java技术构建Web应用程序的方法,它结合了Servlet、JSP(JavaServer Pages)和JavaBean等技术,提供了强大的服务器端编程能力。在给出的代码示例中,我们看到了一个简单的Java程序,该程序连接到...
在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的标准API。本项目专注于使用JDBC连接Microsoft SQL Server 2012,同时结合Maven构建工具进行项目管理。以下将详细讲解如何在Eclipse...
`Microsoft.SQLServer.ManagedDTS.dll` 文件是微软SQL Server Integration Services(SSIS)的核心组件之一,主要用于在.NET环境中开发和管理SSIS包。这篇文章将深入探讨该文件的作用、SSIS的相关知识以及如何在.NET...
4. **执行SQL**:Statement对象提供了`executeQuery()`(用于SELECT语句)、`executeUpdate()`(用于UPDATE、INSERT、DELETE等操作)和`execute()`(用于执行任意SQL语句)方法。 5. **处理结果集**:对于查询语句,...
SQLite JDBC驱动使得Java应用程序能够通过标准的JDBC接口与SQLite数据库进行交互,从而在Java应用中轻松实现数据存储和查询。 使用sqlite-jdbc-3.5.7.jar这个驱动包,开发者可以遵循以下步骤来建立与SQLite数据库的...
类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API 为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性 FastDFS可以看做是基于文件的key value pair存储系统,...