hibernate一对多映射文件的配置
其中一个Customer对应多个LinkMan
Customer的映射文件 Customer.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 package="cn.itcast.domain" >
- <class name="Customer" table="cst_customer" >
- <id name="cust_id" >
- <generator class="native"></generator>
- </id>
- <property name="cust_name" column="cust_name" ></property>
- <property name="cust_source" column="cust_source" ></property>
- <property name="cust_industry" column="cust_industry" ></property>
- <property name="cust_level" column="cust_level" ></property>
- <property name="cust_linkman" column="cust_linkman" ></property>
- <property name="cust_phone" column="cust_phone" ></property>
- <property name="cust_mobile" column="cust_mobile" ></property>
- <!-- 集合,一对多关系,在配置文件中配置 -->
- <!--
- name属性:多的一方集合的属性名
- column属性: 多的一方的外键列名
- class属性: 多的一方类的完整类名
- -->
- <!--
- 级联操作: cascade
- save-update: 级联保存更新
- delete:级联删除
- all:save-update+delete
- 级联操作: 简化操作.目的就是为了少些两行代码.
- -->
- <!-- inverse属性: 配置关系是否维护.
- true: customer不维护关系
- false(默认值): customer维护关系
- inverse属性: 性能优化.提高关系维护的性能.
- 原则: 无论怎么放弃,总有一方必须要维护关系.
- 一对多关系中: 一的一方放弃.也只能一的一方放弃.多的一方不能放弃.
- -->
- <set name="linkMens" inverse="true" cascade="delete">
- <key column="lkm_cust_id"></key>
- <one-to-many class="LinkMan" />
- </set>
- </class>
- </hibernate-mapping>
LinkMan的映射文件 LinkMan.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 package="cn.itcast.domain" >
- <class name="LinkMan" table="cst_linkman" >
- <id name="lkm_id" >
- <generator class="native"></generator>
- </id>
- <property name="lkm_gender" ></property>
- <property name="lkm_name" ></property>
- <property name="lkm_phone" ></property>
- <property name="lkm_email" ></property>
- <property name="lkm_qq" ></property>
- <property name="lkm_mobile" ></property>
- <property name="lkm_memo" ></property>
- <property name="lkm_position" ></property>
- <!-- 多对一 -->
- <!--
- name属性:一的一方的对象的名称
- column属性: 外键列名
- class属性: 一的一方的类的全路径
- -->
- <!--
- 级联操作: cascade
- save-update: 级联保存更新
- delete:级联删除
- all:save-update+delete
- 级联操作: 简化操作.目的就是为了少些两行代码.
- -->
- <!-- 多的一方: 不能放弃维护关系的.外键字段就在多的一方. -->
- <many-to-one name="customer" column="lkm_cust_id" class="Customer" >
- </many-to-one>
- </class>
- </hibernate-mapping>
hibernate一对多映射文件的配置的更多相关文章
- Hibernate映射文件如何配置触发器
Hibernate映射文件之触发器生成(generated属性.database-object元素) (2013-02-27 12:28:49) 转载▼ 标签: it 分类: JAVA学习笔记 这里分 ...
- Hibernate映射文件简单配置
<?xml version="1.0" ?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibe ...
- 在Hibernate映射文件里配置Sequence
<!--注意该id的数据类型以及<generator>节点下的<param>节点的写法--> <id name="id" type=&qu ...
- spring配置hibernate映射文件-------通配符
<!-- 这里一定要注意是使用spring的mappingLocations属性进行通配的 --> <property name="mappingLocation ...
- spring 中 hibernate 的 2种 配置方式(新旧 2种方式)
Spring对hibernate配置文件hibernate.cfg.xml的集成,来取代hibernate.cfg.xml的配置 Spring对hibernate配置文件hibernate.cfg.x ...
- hibernate.cfg.xml文件的配置模板和不同数据库的配置參数
(1)hibernate.cfg.xml文件的配置模板 <?xml version="1.0" encoding="UTF-8"?> <!DO ...
- hibernate映射文件
Hibernate的持久化类和关系数据库之间的映射通常是用一个XML文档来定义的.该文档通过一系列XML元素的配置,来将持久化类与数据库表之间建立起一一映射.这意味着映射文档是按照持久化类的定义来创建 ...
- Spring集成Hibernate映射文件的4种方式
概要: 在Spring的applicationContext.xml中集成Hibernate映射文件,通常是在<sessionFactory>这个Bean实例中进行的,若配置的映射文件较少 ...
- JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法
在Spring 集成 Hibernate 的JPA方式中,需要在persistence配置文件中定义每一个实体类,这样非常地不方便,远哥目前找到了2种方法. 这2种方式都可以实现不用persist ...
随机推荐
- [USACO5.3]校园网Network of Schools
题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...
- Vue2.x源码学习笔记-Vue构造函数
我们知道使用vue.js开发应用时,都是new Vue({}/*options*/) 那Vue构造函数上有哪些静态属性和方法呢?其原型上又有哪些方法呢? 一般我都会在浏览器中输入Vue来look se ...
- Generative Adversarial Nets[LSGAN]
0 背景 在这之前大家在训练GAN的时候,使用的loss函数都是sigmoid_cross_entropy_loss函数,然而xudon mao等人发现当使用伪造样本去更新生成器(且此时伪造样本也被判 ...
- JUnit5 快速指南
JUnit5 快速指南 version: junit5 1. 安装 2. JUnit 注解 3. 编写单元测试 3.1. 基本的单元测试类和方法 3.2. 定制测试类和方法的显示名称 3.3. 断言( ...
- 给大家推荐8个SpringBoot精选项目
前言 2017年,曾在自己的博客中写下这样一段话:有一种力量无人能抵挡,它永不言败生来倔强.有一种理想照亮了迷茫,在那写满荣耀的地方. 如今2018年已过大半,虽然没有大理想抱负,但是却有自己的小计划 ...
- 实战Asp.Net Core:DI生命周期
title: 实战Asp.Net Core:DI生命周期 date: 2018-11-30 21:54:52 --- 1.前言 Asp.Net Core 默认支持 DI(依赖注入) 软件设计模式,那使 ...
- 【C#复习总结】dynamic
介绍 C# 4 引入了一个新类型 dynamic. 该类型是一种静态类型,但类型为 dynamic 的对象会跳过静态类型检查. 大多数情况下,该对象就像具有类型 object 一样. 在编译时,将假定 ...
- JAVA里自定义注解来进行数据验证
API开发中经常会遇到一些对请求数据进行验证的情况,这时候如果使用注解就有两个好处,一是验证逻辑和业务逻辑分离,代码清晰,二是验证逻辑可以轻松复用,只需要在要验证的地方加上注解就可以. Java提供了 ...
- 使用go mod结合docker分层缓存进行自动CI/CD
本文地址:https://www.cnblogs.com/likeli/p/10521941.html 喜大奔的go mod 官方背书的go mod拯救了我的代码洁癖症! 环境 go v1.12 do ...
- 《React Native 精解与实战》书籍连载「React Native 中的生命周期」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...