当用hibernate框架向oracle插入数据时(用的是pl/sql工具),
出现 java.sql.BatchUpdateException: ORA-01438: 值大于为此列指定的允许精度
代码:如下(一对多单向关联,Grade 对 Students )
package entity;
import java.util.HashSet;
import java.util.Set;
/**
* Grade entity. @author MyEclipse Persistence Tools
*/
public class Grade implements java.io.Serializable {
// Fields
private Integer gid;
private String gname;
private String gdesc;
private Set studentses = new HashSet(0);
// Constructors
/** default constructor */
public Grade() {
}
/** full constructor */
public Grade(String gname, String gdesc, Set studentses) {
this.gname = gname;
this.gdesc = gdesc;
this.studentses = studentses;
}
// Property accessors
public Integer getGid() {
return this.gid;
}
public void setGid(Integer gid) {
this.gid = gid;
}
public String getGname() {
return this.gname;
}
public void setGname(String gname) {
this.gname = gname;
}
public String getGdesc() {
return this.gdesc;
}
public void setGdesc(String gdesc) {
this.gdesc = gdesc;
}
public Set getStudentses() {
return this.studentses;
}
public void setStudentses(Set studentses) {
this.studentses = studentses;
}
}
package entity;
/**
* Students entity. @author MyEclipse Persistence Tools
*/
public class Students implements java.io.Serializable {
// Fields
private Integer sid;
//private Grade grade;
private String sname;
private String sex;
// Constructors
/** default constructor */
public Students() {
}
/** minimal constructor */
/*public Students(Grade grade, String sname) {
this.grade = grade;
this.sname = sname;
}
*/
/** full constructor */
// public Students(Grade grade, String sname, String sex) {
// this.grade = grade;
// this.sname = sname;
// this.sex = sex;
// }
// Property accessors
public Integer getSid() {
return this.sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
/* public Grade getGrade() {
return this.grade;
}
public void setGrade(Grade grade) {
this.grade = grade;
}*/
public String getSname() {
return this.sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSex() {
return this.sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
public class Test {
Session session=null;
Transaction tran=null;
public static void main(String[] args) {
new Test().save();
}
//添加
public void save(){
Grade g=new Grade();
g.setGid(1112701);
g.setGname("二班");
g.setGdesc("一年级二班");
Students stu=new Students();
stu.setSid(9);
stu.setSname("张华2");
stu.setSex("女");
Students stu1=new Students();
stu1.setSid(10);
stu1.setSname("刘平2");
stu1.setSex("男");
g.getStudentses().add(stu);
g.getStudentses().add(stu1);
//try {
session=new Configuration().configure().buildSessionFactory().openSession();//得到会话对象
tran=session.beginTransaction();//事务对象
System.out.println(session==null);
session.save(g);//添加
session.save(stu);
session.save(stu1);
[color=red] tran.commit();[/color] //这行报错
System.out.println("添加成功!");
//} catch (HibernateException e) {
//System.out.println("添加失败");
//}
session.close();
}
}
原因:pl/sql number(5),只能插入5位数字
分享到:
相关推荐
在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码
它由Sun Microsystems开发并被纳入Java SE(标准版)的一部分,允许开发者在Java应用程序中执行SQL语句,实现数据的增删改查。JDBC驱动是连接Java应用程序和数据库之间的桥梁,不同的数据库需要对应的JDBC驱动。 1....
**可能原因**:这个错误表明Hibernate无法识别或加载指定的映射文件(例如`User.hbm.xml`)。 **可能的情况**: 1. **HQL语句问题**:在HQL查询语句中使用的实体类名称与数据库表名不一致。 2. **配置问题**:`...
而SpringBoot作为Java开发中的微服务框架,以其便捷的集成、自动配置等功能深受开发者喜爱。本文将详细阐述如何在SpringBoot项目中集成ClickHouse,实现数据的高效存储和查询。 首先,我们需要了解SpringBoot集成...
2. **Driver Manager**:Java程序通过`java.sql.DriverManager`管理并加载JDBC驱动,它负责建立到数据库的实际连接。 3. **Connection对象**:`java.sql.Connection`是到数据库的物理连接。开发者可以通过`...
项目中碰到的,记录一下解决方案
Java中的MySQL数据库驱动包`mysql-connector-java-5.1.0-bin.jar`是连接Java应用程序与MySQL数据库的关键组件。这个驱动包包含了JDBC(Java Database Connectivity)接口,使得Java程序能够通过标准的API与MySQL...
这个驱动程序是Java应用程序连接到SQL Server数据库的关键组件,它实现了Java.sql和javax.sql接口,使得Java开发者能够在Java平台上无缝地访问SQL Server数据库。 描述中的“sql server 2005 访问数据库链接”强调...
2. 异常现象:在扩展表空间时,可能会出现一些异常现象,例如 InternalException java.sql.BatchUpdateException ORA-01653: unable to extend table XXXXXX.XXXXXTABLE by 128 in tablespace XXXXXX。这种情况下,...
标题中的"sqljdbc的jar包"指的是用于Java应用程序与Microsoft SQL Server数据库进行交互的驱动程序库,这个库通常以JAR(Java Archive)文件的形式提供。在Java编程中,JDBC(Java Database Connectivity)是标准的...
MySQL Connector/J 5.1.36 是 MySQL 数据库与 Java 应用程序之间的关键桥梁,它是一个实现了 JDBC(Java Database Connectivity)规范的驱动程序,允许 Java 开发人员在 Java 应用程序中连接和操作 MySQL 数据库。...
JDBC(Java Database Connectivity)是Java平台上的标准API,它允许Java程序通过网络与各种类型的数据库进行交互。SQL Server 2005 JDBC 驱动是微软对这一标准的实现,使得Java开发者能够方便地在Java应用中访问和...
`jconn4.jar` 包含了实现JDBC API的类,这些类允许Java应用程序执行SQL语句、处理结果集、管理事务等操作。 关于标签 "jar java",`jar` 文件是Java档案文件,它将类文件、资源文件和其他内容打包在一起,方便分发...
DBUtils是Apache Commons项目的一部分,它是一个开源的Java库,专为简化数据库操作而设计。在Java编程中,DBUtils提供了许多实用的功能,使得开发者在处理JDBC(Java Database Connectivity)时可以更加高效和便捷。...
标题中的"sqljdbc.jar"和"sqljdbc4.jar"是微软为Java开发者提供的数据库驱动程序,用于连接到SQL Server数据库,特别是SQL Server 2008和SQL Server 2005。这两个JAR文件是Java数据库连接(JDBC)驱动的一部分,允许...
MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在MySQL数据库上执行SQL查询和操作。"mysql-connector-...
JDBC是Java平台标准的一部分,它提供了一套API,允许Java程序与各种类型的数据库进行交互,包括SQL和非SQL数据库。下面我们将详细探讨JDBC的相关知识点。 **JDBC基础知识** 1. **JDBC API**: JDBC API由一系列接口...
在Java Web项目的开发过程中,开发者可能会遇到各种各样的错误提示,这些错误往往涉及到代码实现、配置问题、数据库交互以及框架的正确使用等多个方面。本文将根据提供的错误示例,深入解析其中涉及的关键知识点,...
`mysql-connector-java-6.0.5.jar`是这个连接器的一个特定版本,它允许Java应用程序通过JDBC(Java Database Connectivity)接口连接到MySQL服务器,执行SQL查询,以及管理数据库。 JDBC是Java平台的标准API,用于...