hibernate级联 新增及删除

本文介绍了Hibernate中一对多双向关联的级联操作,包括查询、新增和删除。在配置映射文件后,通过测试代码展示了如何在新增时维护中间表数据。设置cascade属性可以控制数据维护方,例如当inverse设为true时,中间表数据由书籍维护。在删除操作中,删除书籍会连带删除中间表相关数据,而删除类别则可能导致问题,建议避免直接删除被控方数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建一个xml文件,配置书籍实体的映射 ,Book.hbm.xml–》匹配实体类

<?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>
	<class name="com.hibernate.entity.Book" table="t_hibernate_book">
		<id name="book_id" type="java.lang.Integer" column="book_id">
			<generator class="increment"></generator>
		</id>
		<property name="book_name" type="java.lang.String" column="book_name"></property>
		<property name="price" type="java.lang.Float" column="price"></property>
		<!-- 以上为实体中的基本属性 -->
 
                <!-- 
                        set标签对应实体中的set集合,若实体中使用的是List集合,这里则使用list标签
			name: 指的是当前映射实体
			table: 对应的是中间表的表名 
		 -->
		<set name="categorys" table="t_hibernate_book_category">
		<!-- 中间表字段(与当前映射实体对应的表的主键相关联的那个字段) -->
			<key column="bid"></key>
			<!-- 
				class: ‘多’方的全限定名,这个多方也可以叫对方,也就是类别
				column: 中间表字段(与‘多’方主键相关联的字段)
			-->
			<many-to-many class="com.hibernate.entity.Category" column="cid"></many-to-many>
		</set>
	</class>
</hibernate-mapping>

新建一个xml文件,配置类别实体的映射,Category.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值