今天在写视频添加的时候,video表一个有五个字段,四个自己的,一个章节的外键,插入的时候只插入四个字段进去,打印输出测试是有外键的值,就是插的时候没有那个值。在网上查资料:、
有如下的一种的解决方法:
留意<set>元素中的inverse属性,该属性表示关联关系由主控(一方)还是受控方(多方)维护。所谓关联关系的维护就是受控方的外键插入由谁来控制。inverse默认为false,表示由主控方来控制。当主控方控制时,插入SQL的语句会分两条进行
insert into Items(itemName, itemPrice, orderId) values('aa', '5.95', NULL);
update Items set orderId = 3 where itemName = 'aa' and itemPrice = '5.95';
因为主控方控制关联关系,意味受控方在插入数据时,不会考虑其外键引用,直接插入为NULL,直到主控方执行更新操作。
”
因为HIbernate分两条SQL语句插入Score对象。
所以在SCORE表中,第一次外键为空。所以定义数据库中外键时默认值应为NULL.
第二次是更新该条记录的外键。
本人在创建SCORE表外键SID默认是不能为空。所以会出现此种情况,更改为NULL一切正常。
如下为HIbernate生成的SQL语句:
部分。
Hibernate:
insert
into
hbql.score
(score, type)
values
(?, ?)
Hibernate:
update
hbql.score
set
sid=?
where
id=?
后来我经过各种测试想知道到底是哪里的问题,结果还是不知道具体是哪里出的问题。。。哎。。悲催啊。。。
分享到:
相关推荐
本篇将详细介绍标题为"DmDialect-for-hibernate4.0.zip"的压缩包文件及其包含的两个重要组件:Dm7JdbcDriver17.jar和DmDialect-for-hibernate4.0.jar,以及它们在SpringBoot项目中的作用。 首先,SpringBoot是一个...
达梦数据DmDialect-for-hibernate所有jar包,DmDialect-for-hibernate2.0、DmDialect-for-hibernate2.1、DmDialect-for-hibernate3.0、DmDialect-for-hibernate3.1、DmDialect-for-hibernate3.6、DmDialect-for-...
国产达梦数据库hibernate方言包
xjar-agent-hibernate-v1.0.0.jar下载
【Middlegen】是Hibernate的一款元数据生成工具,它能够自动生成Hibernate的配置文件,包括.hbm.xml映射文件和Java持久化类。Middlegen通过反向工程从现有的数据库模式创建这些文件,大大简化了开发者的工作,减少了...
标题"hibernate入门数据简单插入"指的是使用Hibernate框架进行数据库的基本操作,特别是数据的插入。Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在应用程序中处理数据库对象,而无需直接编写...
5. **事务管理**:Hibernate支持编程式和声明式事务管理,确保数据的一致性。 6. **缓存**:Hibernate内置了二级缓存机制,可以通过配置使用如Ehcache这样的缓存提供者,提高性能。 7. **关联映射**:包括一对一(@...
jackson-datatype-hibernate, 用于处理Hibernate的Jackson JSON处理器模块( http,Add 构建 Jackson 模块( jar ) 以支持JSON序列化和反序列化 Hibernate ( http://hibernate.org ) 特定数据类型和属性,特别是延迟...
/*************************************** ...7. DmDialect-for-hibernate5.0.jar 对应 Jdk1.7及以上, hibernate5.0 -- 5.2 环境 8. DmDialect-for-hibernate5.3.jar 对应 Jdk1.7及以上, hibernate5.3 -- 5.4 环境
7. **事务处理**:插入数据通常涉及数据库事务,需要在Session的beginTransaction()和commit()方法之间执行。如果发生异常,应调用rollback()方法回滚事务。 8. **刷新和关闭**:使用Session的flush()方法将内存中...
《Hibernate-Extensions全面指南》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作。然而,为了满足更复杂的业务需求,Hibernate还提供了丰富的扩展功能,这就是我们今天要...
DmDialect-for-hibernate2.0、DmDialect-for-hibernate2.1、DmDialect-for-hibernate3.0、DmDialect-for-hibernate3.1、DmDialect-for-hibernate3.6、DmDialect-for-hibernate4.0、DmDialect-for-hibernate5.0、...
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助...在此谢谢各位!!
在"ext-dwr-hibernate"的整合中,EXT负责展示数据和接收用户输入,通过DWR,EXT组件可以透明地调用服务器上的Hibernate服务来处理数据。当用户在EXT界面上进行操作,如添加、删除或修改记录时,这些操作会通过DWR...
struts-spring-hibernate-_-integration-2.zip
struts-sprint-hibernate 开发案例介绍 介绍了struts-sprint-hibernate 模式的开发流程
1. **数据类型映射**:DM数据库有自己的数据类型,如CHAR、VARCHAR、BIGINT等,DmDialect会将这些数据类型与Hibernate的Java类型进行映射,确保对象持久化时数据类型的正确转换。 2. **SQL生成**:DmDialect会根据...