hibernate级联保存报空指针异常
学习hibernate框架的时候尝试通过级联往数据库中插入数据,报了个空指针异常
异常信息是长这样婶儿的
配置文件是这样婶儿的:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.pojo"><class name="Category" table="category_"><id name="id" column="id"><generator class="native"></generator></id><property name="name"></property><set name="products" lazy="false" cascade="all"><key column="cid" not-null="false"></key><one-to-many class="Product" /></set></class></hibernate-mapping>
原代码是这样婶儿的:
package com.pojo;import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;public class Demo13 {public static void main(String[] args) {SessionFactory sf = new Configuration().configure().buildSessionFactory();Session s= sf.openSession();s.beginTransaction();Category c=(Category) s.get(Category.class, 1);Product p1=new Product();p1.setName("pro1");Product p2=new Product();p2.setName("pro2");Product p3=new Product();p3.setName("pro3");c.getProducts().add(p1);c.getProducts().add(p2);c.getProducts().add(p3);s.getTransaction().commit();s.close();sf.close();}
}
百度了几篇文章后没有解决问题,对着教程检查配置文件和原代码也没发现错误
遂尝试手动往数据库插入数据,报错
大概意思就是外键约束失败
将后面的外键1改成2以后插入成功
然后去看外键关联的表,却没找出问题
就很困惑
无意间刷新了一下数据库表,发现id是1的记录消失了
这才想起之前测试过删除级联了,但是表没刷新,所以能看到c1记录还在,其实库里已经没有这条记录了。
哈哈哈,我可真是个老机灵鬼儿
hibernate级联保存报空指针异常相关推荐
- hibernate级联保存问题
异常:org.hibernate.TransientObjectException: object references an unsaved transient instance 解决方法: XML ...
- 关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存 其实解决办法十分简单: 首先确保你能够级联保存数据,当然除了关联表的外 ...
- Hibernate级联操作 注解
EJB3 支持的操作类型 /*** Cascade types (can override default EJB3 cascades*/ public enum CascadeType {ALL,P ...
- jpa级联添加_请教一个JPA多对多级联保存的问题
实体类 // 标签类 @Entity public class Label { @Id @Column(name = "lid",unique = true,nullable = ...
- hibernate级联操作详解
2019独角兽企业重金招聘Python工程师标准>>> 级联操作 一.简单的介绍 cascade和inverse (Employee – Department) l Casade用来 ...
- jpa和hibernate_JPA和Hibernate级联类型的初学者指南
jpa和hibernate 介绍 JPA将实体状态转换转换为数据库DML语句. 由于对实体图进行操作很常见,因此JPA允许我们将实体状态更改从父级传播到子级 . 通过CascadeType映射配置此行 ...
- JPA和Hibernate级联类型的初学者指南
介绍 JPA将实体状态转换转换为数据库DML语句. 由于对实体图进行操作很常见,因此JPA允许我们将实体状态更改从父级传播到子级 . 通过CascadeType映射配置此行为. JPA与Hiberna ...
- setOnClickListener报空指针异常问题汇总
很多刚学安卓的朋友在调试程序的时候,都有可能遇到初始化控制之后,设置事件监听器的时候,程序崩掉,报错信息显示空指针异常,因此我结合了一下自己遇到的实际情况,和网上其他人的解决方案对此类问题做了一个汇总 ...
- spring boot jpa级联保存
spring boot jpa级联保存 CascadeType oneToMany关系 one的一方中加 @OneToMany(fetch = FetchType.EAGER, cascade = C ...
最新文章
- 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例
- HTML4 和 HTML5 的10个关键区别
- 如何运用下载来的模板
- JSPDF运用实例(解决图片跨域问题)
- getter方法的作用 vuex_Vuex入门篇——基本使用
- 过游戏保护NP或TP的几种方法和思路
- IE7pro v0.9.8已经发布(已经有中文包)
- 案例:如何评价代码走查的效果?
- 怎么用计算机弹植物大战僵尸,[原创] CE基础-自动汇编:植物大战僵尸之子弹回旋...
- 集群调度LSF-学习笔记
- Android 指纹验证标准API学习
- SpringCloud 基础架构搭建
- 面试太卷,我选择背八股。。。
- deepin win10字体_购机指南 | Deepin 初次体验,国产OS还有很长路要走
- 8266+DS3231时钟之显示TM1638的使用【四】下
- 利用虚拟机配置SDN网络实验平台(virtual box+Ubuntu+jdk配置+mininet+floodlight/openDaylight)
- 麦咖啡 导出安全策略.reg文件。
- 如何进行实时频谱分析仪的二次开发——MATLAB、C++、labview开发环境的部署
- 使用Falcon对三代测序进行基因组组装
- Mac WIn7 QQ聊天记录互导 聊天记录合并
热门文章
- 小程序通过广告组件进行赚钱(流量主)--小程序走过的坑(16)(最新版)
- 基于FPGA用VerilogHDL设计实现DDS直接频率合成的详细步骤(QuartusII调用ModelSim进行仿真详细步骤)
- oracle添加创建视图权限不足,Oracle Scott创建视图权限不足解决办法
- select下拉框功能
- php 上传图片 裁剪,jQuery+PHP实现上传裁剪图片
- element el-table 展开行隐藏小箭头
- 《游戏学习》教你上手一个简单的java小游戏《打纸飞机》附源码
- 登录服务器 显示关机原因,服务器异常关机原因
- Apache POI 密码保护只读word文档在WPS中无效
- 中国开源软件推进联盟主席陆首群:开源创新,数字化转型与智能化重构