Field 'id' doesn't have a default value问题解决方法

2023-11-11

 
Field 'id' doesn't have a default value问题解决方法
 

突然想温习温习对数据库的读写,于是就用mysql建了一张单独的表(见代码1),用Hibernate写了个应用,可以正常查询、修改数据了。开始时,数据是在mysql的GUI工具里手工输入的,嫌烦,于是就想到用程序批量生成一些,于是麻烦也跟着来了……

    代码1

Sql代码   收藏代码
  1. CREATE TABLE  `stitp`.`Ticket` (  
  2.   `id` int(11) NOT NULL,  
  3.   `state` tinyint(1) NOT NULL,  
  4.   `grade` int(2) NOT NULL,  
  5.   PRIMARY KEY  (`id`)  
  6. ) ENGINE=InnoDB DEFAULT CHARSET=gbk  
 

        运行插入数据的java代码,报异常:field ‘id' doesn't have a default value没错啊,我的主键怎么可能有默认值呢?不理解。谷歌了一下这个异常,一大坨结果,总结一下就是那么两种方法:

解决方法一: 打开my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改为 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 然后重启MYSQL

解决方法二: MySQL 5 uses a strict mode which needs to be disabled. In Windows, Goto Start-->Programs-->MySQL->MySQL Instance Config Wizard. Follow through the Reconfigure Instance option-->Detailed Configuration-->Continue Next a few screens. At the bottom under Enable TCP/IP option there is 'Enable Strict Mode'. Deslect this option (no tick). Save changes and MySQL will restart.

       都试了,没用,而且我是Fedora,没有ini文件,而是cnf文件(我的my.cnf在/etc下面)

这个关键字看来是找不到办法了,换成查找hibernate里对主键的设置吧。果然就找到了办法!原来是.hbm.xml文件的设置问题,在里面把主键的属性改为:

Xml代码   收藏代码
  1. <generator class="assigned">  
 

        再运行就可以了。因为assigned是指主键是由人工分配的,而native则指主键值由库自动给出。我以前都是想都没想就加上native的,反正也不知道什么意思,而且以前用到要插入数据的表,主键都是“auto increment”的,所以也没碰到问题。这次就暴露了。

总结一下:其实就是缺乏对Hibernate的全面理解,没有完全掌握它的各种设置。因为当初学hibernate也是抱着"需求"学的,而不是正儿八经学习它的,没有完全理解各种设置就上手了。

 
 

                
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Field 'id' doesn't have a default value问题解决方法 的相关文章

  • Exception starting filter struts2 java.lang.NullPointerException 解决方法

  • 使用Jfreechart实现带热点的饼状图

    JFreeChart是JAVA平台上的一个开放的图表绘制类库 它完全使用JAVA语言编写 是为applications applets servlets 以及JSP等使用所设计 JFreeChart可生成饼图 pie charts 柱状图
  • java内存区域简介以及GC机制

    目录 前言 1 java内存区域简介 1 1 方法区 Method Area 1 2 堆区 Heap 1 3 程序计数器 pc 寄存器 1 4 Java 虚拟机栈 JVM Stacks 1 5 本地方法栈 Native Mthod Stac
  • Myeclipse平台struts+hibernate+spring项目开发示例

    如果您按照上篇文章配置成功 可以进行开发简单的J2EE项目 开发前准备 1 新建项目包 如下图 Dao 数据层 service 逻辑层 web web展现层 2 建立好三层架构 部署好包名 建立一个jsp文件 取名为 login jsp 代
  • 搭建spring、struts、jpa(hibernate)、ibatis框架详解

    搭建spring struts jpa hibernate ibatis框架详解 1 本文选用spring3 06发行版 首先下载spring3 0 6版的jar包 2 下载struts2 3 24版本 struts2的jar可以在stru
  • SSH框架搭建的全过程(eclipse)

    SSH框架是最常用的框架之一 在搭建SSH框架的时候总有人遇到这样 那样的问题 下面我介绍一下SSH框架搭建的全过程 第一步 准备工作 下载好eclipse Struts2 Spring Hibernate 1 eclipse eclips
  • struts2配置commons-fileupload的问题

    这个问题主要出现在上传文件时parseRequest 的值为空 原因是struts2的Filter拦截了 ServletFileUpload sfu new ServletFileUpload factory List fileList s
  • web.xml加载顺序

    web xml加载顺序 应用服务器启动时web xml加载过程 至于这些节点在xml文件中的前后顺序没有关系 不过有些应用服务器 我曾碰到过的 websphere就严格要求web xml的节点顺序 否则部署不成功 所以还是赞成按照web x
  • 如何将 AngularJS 与 Struts 1.x 结合使用

    我对 AngularJS 和客户端内容很陌生 我正在向使用 Struts 1 3 作为框架的旧应用程序添加一个新页面 我想使用 AngularJS 作为前端 我知道如何通过将 JSON 写入前端并返回来从操作类返回 JSONnull为前进的
  • 将 Hibernate 会话与 Quartz 结合使用

    我有一个使用 Struts 和 Hibernate 等框架的 Web 应用程序 目前我正在使用 Quartz 为该应用程序开发一个调度程序 在编码时 我意识到使用 Quartz 线程不可能使用 Hibernate 会话 有人有使用石英作业类
  • AJAX 文件上传/表单提交无需 jquery 或 iframe?

    是否可以在没有 jQuery 或 IFrames 的情况下进行 AJAX 表单提交 因此只需纯 JavaScript 我目前正在发送到一个可以工作的struts fileUploadAction 该操作的代码是否仍适用于异步提交 或者是否需
  • Struts 中的控制器

    MVC 中的控制器是什么 Is it struts xml or Servlet 动作类 我们可以有多个吗Controller在我们的应用程序中 拥有多个控制器是一种好的做法吗 在 Struts 中 应用程序控制器层代码 功能分为两部分 A
  • 在 Struts 2 中动态生成名称和值属性

    我正在将代码从 Struts1 迁移到 Struts2 Struts1代码
  • 如何获取struts标签中的JSP scriptlet值

    这是我的代码 如果我执行以下操作 我将不会获得该值
  • 和 ${param} 之间有什么区别

    在 struts 中 我注意到有两种不同的方式来访问变量 我很好奇它们之间有什么区别以及何时正确使用它们 例如 假设我们像这样设置变量高度
  • 有什么方法可以预测会话超时吗?

    有没有办法 捕获 会话超时事件 以便在 HttpSession 失效之前检索数据 我们正在实现 Filter 接口 并且在 doFilter 方法中 当会话超时时 我们在登录时存储在会话对象中的用户为 null 提前致谢 您应该能够注册Ht
  • 相当于 Struts 1.x“bean:define”标签?

    我正在致力于将旧的 Struts 1 x 应用程序转换为 Spring MVC 并且在一些 JSP 页面中 bean define标签用于从资源包中获取字符串 然后在页面中稍后使用
  • 从表单数据填充struts2中的List

    我觉得这应该是非常明显的 但到目前为止我还没有找到答案 我想要一个字符串列表 或一个字符串数组 我真的不在乎 由 Struts2 中的表单数据填充 我看过几个关于如何做的例子bean 的索引属性 https stackoverflow co
  • 安全地向 RESTFUL API 提供凭据

    我创建了一个 RESTful 服务器应用程序 它可以在有用的 URL 例如 www site com get someinfo 上处理请求并提供服务 它是在春天建造的 但是 这些访问受密码保护 我现在正在构建一个客户端应用程序 它将连接到这
  • struts2-rest 插件..使 struts 操作 + 休息操作一起工作,但是。给出 java.lang.reflect.InitationTargetException

    我正在将现有的 struts 2 应用程序转换为通过一些基于休息的服务来提供服务 我使用了两个插件 struts2 rest插件和struts convention插件 除了这些之外 我还使用了 asm jar 因为上面给出了 asm ja

随机推荐

  • Servlet的两个Map

    Servlet中第一个请求到达tomcat容器时 容器会对请求进行解析 去除 ip port context path 得到 uri web应用在启动时会创建这两个map 第一个map的value在初始时值都为空 第二个map在初始时值为s
  • 《概率论与数理统计》——概率公式

    1 逆事件公式 2 加法公式 3 减法公式 4 条件概率 设 A B 为任意事件 若 P A gt 0 我们称在已知事件 A 发生的条件下 事件 B 发生的概率为条件概率 记作 P B A 5 乘法公式 6 全概率公式 7 贝叶斯公式
  • 【代码随想录-刷题学习JavaScript】day4-字符串

    一 344 反转字符串 二 541 反转字符串II 三 剑指Offer 05 替换空格 四 151 翻转字符串里的单词 五 剑指Offer58 II 左旋转字符串 六 28 实现 strStr 七 459 重复的子字符串 八 字符串总结 九
  • Python安装数据库SqlServer\MySql访问组件

    首先要说明是基于Python3 6 3的 安装方法有所不同 以前网上说的一些方法试了基本没用 踩过了坑 现在列一下我的成功安装方法给坑友们 系统环境 win10企业版64位 开发环境 vs2015 Python版本 3 6 3 64位 一
  • redis执行日志_Redis之坑:Redis与MySQL中事务的区别

    MySQL BEGIN 显式地开启一个事务 COMMIT 提交事务 将对数据库进行的所有修改变成为永久性的 ROLLBACK 结束用户的事务 并撤销正在进行的所有未提交的修改 Redis MULTI 标记事务的开始 EXEC 执行事务的co
  • 单词统计(C语言)

    简述 输入一串英文字符串 统计出现的单词数目 流程图 原理简述 定义一个字符串数组char a 100 用于接收输入的字符串 输入字符串本处运用的gets 函数 作用是从终端输入一串字符到定义的字符数组中 函数返回值是数组地址 为方便表示
  • QT QTreeWidget 控件 学习笔记

    首先我们了解一下 QTreeWidget的属性 1 QTreeWidget 控件的创建 QTreeWidget tw 单独的树 QTreeWidget tw w 在w界面里的树 2 往tw中添加子节点 创建一个新结点 设置结点中包含的数据
  • Ubuntu:安装deb文件包

    sudo dpkg i deb 如果报依赖错误执行下面语句再试 sudo apt get f fix missing install
  • query和params传参的区别

    一 query和params传参的区别 1 query传递显示参数 params传递不显示参数 params相对于query来说较安全一点 取值方法也有不同 1 query取值 this r o u t e
  • ubuntu启动时黑屏,无法进入登录界面

    方式1 1 重新启动客户机 2 点击屏幕立即长按左shift键或ESC 3 出现grub菜单后选择第二个 4 又出现一个列表继续选择第二个 5 下一个页面选择第一个 6 下一个界面点击OK就可以了 但不能保证下次开机时能不能进入 方式2 在
  • django梳理

    概述 1 框架推导流程 web框架 Yietong309的博客 CSDN博客 前期准备知识 2 django请求生命周期流程图 客户端发送HTTP发送request请求 经过网关发送到中间件 在经过路由层 视图层 模型层 模板层 这两个都与
  • 鸿蒙-实践课程一 android、ios、HarmonyOS

    目前ide对于js调试还是如其它android ios一样 存在较多缺陷 config json配置导致中间调试的断层 建议初学者如果是java或者语言类转入 可以先用java语言进行学习 首先 你需要理清楚 Ability AceAbil
  • pygraphviz安装教程

    0x01 背景 最近在做casual inference 做实验时候想因果图可视化 遂需要安装pygraphviz 整了一下午 终于捣鼓好了 真头大 环境 win10操作系统 python3 9环境 在这里 如果有conda环境 直接可以使
  • 代码级测试

    代码级测试的测试方法一定是一套测试方法的集合 而不是一个测试方法 因为单靠一种测试方法不可能发现所有潜在的错误 一定是一种方法解决一部分或者一类问题 然后综合运用多种方法解决全部问题 常见代码错误类型 第一 语法特征错误 语法特征错误是指
  • 编写高质量代码:改善Java程序的151个建议(第8章:异常___建议110~117)

    不管人类的思维有多么缜密 也存在 智者千虑必有一失 的缺憾 无论计算机技术怎么发展 也不可能穷尽所有的场景 这个世界是不完美的 是有缺陷的 完美的世界只存在于理想中 对于软件帝国的缔造者来说 程序也是不完美的 异常情况会随时出现 我们需要它
  • 系统调用(int 0x80)详解

    1 系统调用初始化 在系统启动时 会在sched init void 函数中调用set system gate 0x80 system call 设置中断向量号0x80的中断描述符 define set system gate n addr
  • Python基础知识题库(带答案)

    单项选择题 第一章python语法基础 1 Python 3 x 版本的保留字总数是C A 27 B 29 C 33 D 16 2 以下选项中 不是 Python 语言保留字的是C A while B pass C do D except
  • python爬取网页的方法总结,python3.9爬取网页教程

    大家好 小编为大家解答python 爬取网页内容并保存到数据库的问题 很多人还不知道利用python爬取简单网页数据步骤 现在让我们一起来看看吧 需求分析 今天遇到一个简单的需求 需要下载澳大利亚电力市场NEM日前市场的发电商报价数据 ne
  • LeetCode题目笔记——965. 单值二叉树

    文章目录 题目描述 题目链接 题目难度 简单 方法一 遍历 哈希表 代码 Python 方法二 深度优先 代码 Python 总结 题目描述 如果二叉树每个节点都具有相同的值 那么该二叉树就是单值二叉树 只有给定的树是单值二叉树时 才返回
  • Field 'id' doesn't have a default value问题解决方法

    Field id doesn t have a default value问题解决方法 突然想温习温习对数据库的读写 于是就用mysql建了一张单独的表 见代码1 用Hibernate写了个应用 可以正常查询 修改数据了 开始时 数据是在m