Hibernate中insert出错inserted value too large for column

wooh 2005-02-05 11:10:39
数据库:
CREATE TABLE STAFF
(
MEMBER_ID VARCHAR(25) NOT NULL,
DEPARTMENT VARCHAR(25) NOT NULL,
NAME VARCHAR(25) NOT NULL,
SEX VARCHAR(2),
BIRTHDAY DATE,
DEGREE VARCHAR(25),
SPECIALTY VARCHAR(25),
SCHOOL VARCHAR(25),
TITLE VARCHAR(25),
POST VARCHAR(25),
SIGN VARCHAR(25),
CONSTRAINT PK_STAFF PRIMARY KEY (MEMBER_ID)
)

Staff.hbm.xml---------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<!-- DO NOT EDIT: This is a generated file that is synchronized -->
<!-- by MyEclipse Hibernate tool integration. -->
<!-- Created Fri Jan 28 15:07:18 CST 2005 -->
<hibernate-mapping package="com.icbc.sdc.kf3.hibernate.humansource">

<class name="Staff" table="STAFF">
<id name="memberId" column="MEMBER_ID" type="java.lang.String">
<generator class="assigned"/>
</id>

<property name="department" column="DEPARTMENT" type="java.lang.String" not-null="true" />
<property name="name" column="NAME" type="java.lang.String" not-null="true" />
<property name="sex" column="SEX" type="java.lang.String" />
<property name="birthday" column="BIRTHDAY" type="java.util.Date" />
<property name="degree" column="DEGREE" type="java.lang.String" />
<property name="specialty" column="SPECIALTY" type="java.lang.String" />
<property name="school" column="SCHOOL" type="java.lang.String" />
<property name="title" column="TITLE" type="java.lang.String" />
<property name="post" column="POST" type="java.lang.String" />
<property name="sign" column="SIGN" type="java.lang.String" />
</class>

</hibernate-mapping>

StaffManager----------------------------------------------------------------------
public class StaffManager {

//更新或增加员工基本记录
public void saveMember(Staff memberValue) {
Session session=null;
Transaction tx=null;

try {
session=HibernateSessionFactory.currentSession();
tx=session.beginTransaction();
Staff member;

if (memberValue.getMemberId()!=null) {
//member=(Staff)session.get(Staff.class,memberValue.getMemberId());
System.out.println("............... READY...!!!!!!!!!!");
//session.update(memberValue);
session.saveOrUpdate(memberValue);
System.out.println("............... DONE...!!!!!!!!!!");
}
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tx!=null) try {
tx.rollback();
} catch (HibernateException e1) {
e1.printStackTrace();
}
}finally {
try {
if(session!=null) HibernateSessionFactory.closeSession();
}catch(HibernateException e1) {
e1.printStackTrace();
}
}
}

---------------------------------------
已经校对过值了 没有错 但是会报错ORA-01401:inserted value too large for column
...全文
305 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
discolt 2005-02-18
  • 打赏
  • 举报
回复
inserted value too large for column

在数据库中插入了过大的字段,请仔细查找。
sgdb 2005-02-18
  • 打赏
  • 举报
回复
Oracle中汉字的长度跟你的oracle的字符集有关系,使用ASCII一个汉字占2位,ZHS16GBK占一位 utf8占3位
jspxnet 2005-02-17
  • 打赏
  • 举报
回复
在你的xml 中把长度定义上,不同的长度,会对应不同的类型
pigo 2005-02-06
  • 打赏
  • 举报
回复


可能是有中文字符,而中文字符的长度计算各自不同,

java本身字符串是UNICODE,因此一个汉字就算一个字符,
而Oracle中一个汉字算两个字符。postgresql中如果使用UNICODE,那么一个汉字算一个字符,如果使用ASCII字符集,一个汉字就会被算作两个字符。


kingofvc 2005-02-05
  • 打赏
  • 举报
回复
hibernate config 里面设置showsql=true
然后把他执行的那行sql 用实际数据填充手动去oracle里面执行 看看到底什么地方出问题了
wooh 2005-02-05
  • 打赏
  • 举报
回复
长度都没有问题,刚才用MySql试了一下 可以insert数据 但是Oracle就不行
kingofvc 2005-02-05
  • 打赏
  • 举报
回复
memberValue里面所有String类型的属性长度打印出来看看 有没有超过你数据库设置的大小
比如你设定25个字符 ,但是你放入的是26个
内容概要:本文介绍了一个基于Java与Vue的中小银行信贷材料结构化审核与尽调要点抽取系统的设计与实现。系统通过OCR识别、版面解析、关键字段抽取、实体归一化、规则引擎和风险评分等技术,将非结构化的信贷材料(如营业执照、审计报告、银行流水、合同等)转化为可查询、可校验的结构化数据,实现材料自动分类、字段提取、完整性检查、跨文档一致性比对及风险线索识别。系统涵盖文件接入、文档识别、字段抽取、规则校验、风险评分与前端交互六大层次,提升了信贷审核效率、统一了审查标准、增强了风险预警能力,并建立了可追溯的数据资产体系。文中还提供了企业名称清洗、统一社会信用代码校验、金额抽取、材料完整性校验、名称相似度计算和风险评分等核心功能的模型描述与Java代码示例。; 适合人群:具备Java和Vue开发基础,从事金融科技、信贷系统开发或智能文档处理相关工作的研发人员,尤其是关注OCR、NLP与规则引擎在金融风控中应用的工程师和技术负责人。; 使用场景及目标:① 实现中小银行信贷材料的自动化结构化处理与智能审核;② 提升信贷审批效率,降低人工核验成本;③ 统一尽调标准,增强风险识别与预警能力;④ 构建可追溯、可审计的信贷数据资产,支持贷后管理与监管合规。; 阅读建议:此资源以实际项目为导向,结合业务需求与技术实现,建议开发者结合代码示例深入理解各模块设计逻辑,重点关注实体归一化、规则引擎配置与前后端协同机制,并可在类似场景中复用核心算法与架构设计。
鼎拨神器 4.02 软件描述 ====================== 一、软件简介 鼎拨神器是一款面向拨号场景的桌面工具软件,提供账号批量拨号、拨号状态管理、日志留痕等功能,适用于需要频繁切换拨号账号的使用场景。软件界面简洁、操作直观,账号配置与管理一体化,开箱即用。 二、核心功能 1. 账号拨号:支持多账号配置,账号与密码以"空格或 Tab 键"分隔,可从表格(一列账号、一列密码)直接复制粘贴导入,批量管理、快速切换。 2. 动态等待:拨号成功后支持 1-60 秒动态等待时长,可有效规避连续拨号过快导致的失败,提升拨号成功率。 3. 流量选项:内置流量模式选项(4.0 版本新增),按需选择,灵活适配不同拨号需求。 4. 日志留痕: - dial_log.xls:最近一次拨号记录; - dial_log_日期.txt:全部拨号记录,按天归档,方便追溯与统计。 5. 图标美化:4.02 版本窗口左上角与任务栏统一应用专属图标,界面更规范。 三、版本更新记录 - 版本 4.02:修复了一些已知问题,优化窗口图标显示。 四、目录结构说明 - 鼎拨神器.exe:主程序,双击启动。 - Launcher_ForExe.exe:拨号调度启动器。 - Program 文件夹:软件内部文件,请勿删除。 - Program\dial.exe:核心拨号组件。 - accounts.txt:账号密码配置文件(账号与密码间用一个空格或 Tab 键隔开)。如不慎删除,请以"accounts.txt"命名自建文件即可恢复使用。 - rz 文件夹:日志文件夹,自动生成拨号记录。 建议每次拨号时将最后一个账号设为自己固有的账号,避免前面所有账号拨号不成功。 详细条款请参阅软件包内《软件使用授权及免责声明》。
详情可查看下方数据集可视化效果。 【数据集概况】 · 检测类别(中文):[其他(Violence), 攀爬(climb)] · 训练集:2056 张 · 验证集:111 张 · 测试集:61 张 · 总计:2228 张 该数据集聚焦于高空作业场景中人员攀爬行为的精准识别,涵盖室内攀岩墙、户外梯子、屋顶维修、儿童游乐设施等多种真实环境。通过多角度、多光照条件下的图像采集,全面覆盖了不同高度、姿态和设备类型下的攀爬活动,为安全监控与风险预警系统提供了高质量的视觉基础,具有显著的行业应用价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 87 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9141** mAP50-95 | 0.6503 Precision | 0.8867 Recall | 0.8620 train/box_loss | 0.8021 train/cls_loss | 0.4599 val/box_loss | 1.1432 val/cls_loss | 0.6798 【训练过程分析】 87 轮训练后 mAP50 达到 0.9141,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.6503,和 mAP50 差距 0.26,定位精度仍有优化空间。 【模型性能评估】 Precision 0.8867、Recall 0.8620,精度高于召回,存在一定漏检。多类检测中,不同类别性能可能有差异,需关注难例类别的表现。 【预测效果展示】 验证集预测效果较好...

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧