hibernate映射关系的配置

XML文件个人书写规范

          <!-- users属性,本类与User的一对多关系 -->

      格式:?属性,本类与?的?
      ?1 属性名
      ?2 关联对类型
      ?3 关系


配置模板

     多对一:
<many-to-one name="" class="" column="" />

    一对多(Set):

<set name="">
<key column="" />
<one-to-many class=""/>
</set>
    多对多(Set):
<set name="" table="">
<key column="" />
<many-to-many class="" column="" />
</set>

经典案例

        映射关系

        

        配置详情

         Department.hbm.xml
         
<?xml version="1.0"?>
<!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.cust.oa.domain"><class name="Department" table="cust_department"><id name="id"><generator class="native" /></id><property name="name" />	<property name="description" /><!-- users属性,本类与User的一对多关系 --><set name="users"><key column="departmentId"/><one-to-many class="User" /></set> <!-- parent属性,本类与Department(上级)的多对一关系 --> <many-to-one name="parent" class="Department" column="parentId" /> <!-- children属性,本类与Department(下级)的一对多关系 --> <set name="children"><key column="parentId"/><one-to-many class="Department" /></set>  </class></hibernate-mapping>

         User.hbm.xml

<?xml version="1.0"?>
<!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.cust.oa.domain"><class name="User" table="cust_user"><id name="id"><generator class="native" /></id><property name="loginName" /> <property name="password" /> <property name="name" />	<property name="gender" />	<property name="phoneNumber" />	<property name="email" />	<property name="description" />	<!-- department属性,本类与Department的多对一关系 --><many-to-one name="department" class="Department" column="departmentId" /> <!-- roles属性,本类与Role的多对多关系 --><set name="roles" table="cust_user_role"><key column="userId"/><many-to-many class="Role" column="roleId" /></set> </class></hibernate-mapping>
        
         Role.hbm.xml

<?xml version="1.0"?>
<!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.cust.oa.domain"><class name="Role" table="cust_role"><id name="id"><generator class="native" /></id><property name="name" />	<property name="description" /><!-- users属性,本类与User的多对多关系 --><set name="users" table="cust_user_role"><key column="roleId"/><many-to-many class="User" column="userId" /></set> </class></hibernate-mapping>


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公司创始人、董事长、CEO和总裁谁更大,有什么区别?

创始人 英文称Founder&#xff0c;创始人是一个企业&#xff0c;社团&#xff0c;基金、组织&#xff0c;网站等的发起和创立人。任正非是华为的创始人。如果公司一开始就有多个人就叫联合创始人。比如腾讯有马化腾张志东等5位联合创始人&#xff0c;阿里巴巴则有马云、张英等1…

JQuery中的一些重要方法

选择上一级元素 parent(expr) 选择所有上级元素(前辈) parents(expr) 选择下一级元素 children(expr) 选择所有后代元素 find(expr) 选择同级元素(兄弟) siblings(expr) 选择兄元素(前一个) prev( expr ) 选…

各种数据库分页查询sql语句

1.oracle数据库分页 select * from (select a.*,rownum rc from 表名 where rownum<endrow) a where a.rc>startrow; 2.DB2数据库分页 Select * from (select rownumber() over() as rc,a.* from (select * from 表名 order by 列名) as a) …

Java线程面试题 Top 53

1) 什么是线程&#xff1f; 线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。程序员可以通过它进行多处理器编程&#xff0c;你可以使用多线程对运算密集型任务提速。比如&#xff0c;如果一个线程完成一个任务要…

EL表达式的11个内置对象

EL是JSP内置的表达式语言 JSP2.0开始&#xff0c;不让再使用Java脚本&#xff0c;而是使用EL表达式和动态标签来代替Java脚本 EL替代的是<%... %>&#xff0c;也就是说EL只能做输出 EL可以输出的东西都在11个内置对象中&#xff0c;11个内置对象&#xff0c;其中10个是…

xml的约束

为什么需要约束&#xff1f; 比如现在定义一个person的xml文件&#xff0c;只想要这个文件里面保存人的信息&#xff0c;比如name age等&#xff0c;但是如果在xml文件中写了一个标签<猫>&#xff0c;发现可以正常显示&#xff0c;因为符合语法规范。但是猫肯定不…

会话跟踪技术之Cookie

1 Cookie概述 1.1 什么叫Cookie Cookie翻译成中文是小甜点&#xff0c;小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的&#xff0c;随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来&#xff…

会话跟踪技术之HttpSession

1 HttpSession概述 1.1 什么是HttpSesssion javax.servlet.http.HttpSession接口表示一个会话&#xff0c;我们可以把一个会话内需要共享的数据保存到HttSession对象中&#xff01; 1.2 获取HttpSession对象 HttpSession request.getSesssion()&#xff1a;如果当前会话已…

Spring MVC 中 HandlerInterceptorAdapter的使用

一般情况下&#xff0c;对来自浏览器的请求的拦截&#xff0c;是利用Filter实现的&#xff0c;这种方式可以实现Bean预处理、后处理。 Spring MVC的拦截器不仅可实现Filter的所有功能&#xff0c;还可以更精确的控制拦截精度。 spring为我们提供了org.springframework.web.ser…

Nginx安装教程

1 nginx安装环境 nginx是C语言开发&#xff0c;建议在linux上运行&#xff0c;本教程使用Centos6.5作为安装环境。 --gcc 安装nginx需要先将官网下载的源码进行编译&#xff0c;编译依赖gcc环境&#xff0c;如果没有gcc环境&#xff0c;需要安装gcc&#xff1a;yum install gcc…

Maven Scope取值的含义

maven依赖关系中Scope的作用 Dependency Scope 在POM 4中&#xff0c;<dependency>中还引入了<scope>&#xff0c;它主要管理依赖的部署。目前<scope>可以使用5个值&#xff1a; * compile&#xff0c;缺省值&#xff0c;适用于所有阶段&#xff0c;会…

Solr--企业级搜索应用服务器

1. 概述 1.1.什么是Solr Solr 是Apache下的一个顶级开源项目&#xff0c;采用Java开发&#xff0c;它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言&#xff0c;同时实现了可配置、可扩展&#xff0c;并对索引、搜索性能进行了优化。 Solr可以独立运行&…

HttpClient使用详解

1. 什么是httpclient HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了&#xff0c;越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能&#xff0c;但是对于大部分应用程序来说&#x…

Nginx反向代理及负载均衡

1. nginx反向代理 1.1. 什么是反向代理 通常的代理服务器&#xff0c;只用于代理内部网络对Internet的连接请求&#xff0c;客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Internet上的web服务器发起请求&#xff0c;…

SolrCloud详解及搭建

1. 什么是SolrCloud 1.1. 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案&#xff0c;当你需要大规模&#xff0c;容错&#xff0c;分布式索引和检索能力时使用SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的&#xff0c;当索引量很大&am…

Intellij IDEA 快捷键整理

【常规】CtrlShift Enter&#xff0c;语句完成“&#xff01;”&#xff0c;否定完成&#xff0c;输入表达式时按 “&#xff01;”键CtrlE&#xff0c;最近的文件CtrlShiftE&#xff0c;最近更改的文件ShiftClick&#xff0c;可以关闭文件Ctrl[ OR ]&#xff0c;可以跑到大括…

谈谈Java开发中的对象拷贝

在Java开发工作中&#xff0c;有很多时候我们需要将不同的两个对象实例进行属性复制&#xff0c;从而基于源对象的属性信息进行后续操作&#xff0c;而不改变源对象的属性信息。这两个对象实例有可能是同一个类的两个实例&#xff0c;也可能是不同类的两个实例&#xff0c;但是…

gitmaven命令

git命令 git diff #查看差异 git push origin feature/recover_pwd_bug #推送 git commit -m ‘perf #重置密码逻辑优化 git log #查看提交版本号 git reset --hard <版本号> #本地回退到相应的版本 git push origin <分支名> --force #远端的仓库也回退到相应…

【算法系列之一】二叉树最小深度

题目&#xff1a; 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3/ \9 20/ \15 7 返回它的最小深度 2. 答案&#xf…

【算法系列之二】反波兰式

问题&#xff1a; 用反波兰式表示算术表达式的值。 有效运算符是,-,*,/。每个操作数可以是一个整数或另一个表达式。 一些例子&#xff1a; ["2", "1", "", "3", "*"] -> ((2 1) * 3) -> 9["4", "13…