1.单向多对一

  1.映射文件配置

  

  2.model:
  

  测试

  1.查询测试
  执行顺序,先查询多方,在查询一方,一方采用延迟加载

  

  注意:如果不使用一方的数据,就关闭session,报错,同延迟加载中的报错类型一样

  测试控制台输出为:

  

  2.保存测试

  

  输出结果:

  

  注意:

   1.保存测试先保存商品后保存分类:

  

  测试结果:

  

  结论:很明显先保存商品后保存分类,要执行5句sql,效率低.

实际情况,我们先把类型分好,然后进货的时候就直接可以分类。但是如果相反的话,我们就要先进货,再分类型,再把货放到相应类型中去

  2.关联对象不要实例化(单向多对一)
  不能在多方实例化一方,因为实例化之后一方没有主键,也就是没有外键值,保存会出错
  

2.一对多的映射文件配置

  

  

  

  这个lazy的值默认为true,则实现延时加载,而我们修改成false后,不管有没有找其它的商品,它都会马上发送SQL来去查询数据。 但是这种做法严重影响性能。
  

ssh架构之hibernate(三)关系映射的更多相关文章

  1. hibernate(3) —— 关系映射

    hibernate中关系映射指的是实体类与实体类间的关系.和数据库中表与表之间的关系类似,有一对一,多对一,一对多,多对多四种映射关系. 一:一对一映射 两个对象之间是一对一的关系,如人和身份证之间是 ...

  2. Hibernate注解关系映射

    Hibernate Annotation关系映射的几种类型映射用法及使用方法(说明:以前实例的实体是user和role,主键分别是userid和roleid)   1)一对一外键关联映射(单向) @O ...

  3. 【SSH系列】---Hibernate的基本映射

    开篇前言       在前面的博文中,小编分别介绍了[SSH系列]-- hibernate基本原理&&入门demo,通过这篇博文,小伙伴们对hibernate已经有了基本的了解,以及h ...

  4. 详谈Hibernate框架关系映射!

    接触Hibernate也有一小段的时间了,愈发的觉得Hibernate是个神奇的东西,为什么这么说呢?因为你可以不懂一行sql,直接面向对象,就可以将数据直接保存到数据库去!! 你还可以保存一个对象, ...

  5. hibernate 实体关系映射笔记

    @经常使用属性说明:     @Entity:实体类     @Table:指定相应数据表     @Id:主键,使用能够为null值的类型,假设实体类没有保存到数据库是一个暂时状态     @Col ...

  6. hibernate对象关系映射( 一对一,一对多,多对一,多对多的单向,双向映射 ——)

    对象之间的关系: 关系映射之间的关系只的是对象之间的关系,并不指数据库表的关系(外键关系)这儿解决的问题是当对象之间的关系之一时,数据库表该如何映射,编程上如何对待. 一对一(主键关联,和单向的外键关 ...

  7. Hibernate 对象关系映射文件

    简介: POJO 类和关系型数据库之间的映射可以用一个 XML 文档来定义 通过 POJO 类的数据库映射文件,Hibernate 可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据 ...

  8. ssh架构之hibernate(一)简单使用hibernate完成CRUD

    1.Hibernate简介   Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,h ...

  9. Hibernate表关系映射之一对一映射

    一.数据表的映射关系 在数据库领域中,数据表和数据表之间关系一般可以分为如下几种: 一对一:比如公民和身份证的关系,一个人只有一张身份证,同时每张身份证也仅仅对应一个人! 一对多:比如客户和订单之间的 ...

随机推荐

  1. 【Selenium-WebDriver自学】Selenium-IDE调试(四)

    ==================================================================================================== ...

  2. 本地计算机上的OracleDBConsoleorcl服务启动后停止

    emca -repos dropemca -repos createemca -config dbcontrol db 这三步你都运行成功了也没有报错?最后没有提示你dbcontrol已经启动了么?, ...

  3. gentoo rt-thread scons --menuconfig libs/lxdialog/util.o: undefined reference to symbol 'nodelay'

    今天在另外一台电脑上面使用 rt-thread 的 env 工具,scons --menuconfig 出现错误,提示如下: scons: Reading SConscript files ... s ...

  4. js全局变量污染

    一.定义全局变量命名空间 只创建一个全局变量,并定义该变量为当前应用容器,把其他全局变量追加在该命名空间下 var my={}; my.name={ big_name:"zhangsan&q ...

  5. 24.API爬天气预报数据

    1.免费注册API 地址: https://console.heweather.com/ 必须要用IE浏览器打开,注册邮箱激活,打开控制台,如图: 认证key是访问api的钥匙 2.阅读api说明开发 ...

  6. 应用PLSQL Developer(技巧)

    以下是一些 PLSQL Developer的使用技巧. 转自:PLSQL developer常用技巧,作者:逍遥游xj

  7. Centos yum 安装软件时出现 except OSError, e: ^ SyntaxError: invalid syntax

    错误原因: 系统中装有多个版本的Python,Python脚本运行的时候版本冲突. 解决办法:(以下两步都要执行,这里假设你的python2.7指向python2,如果不是就要针对性的进行修改,反正就 ...

  8. flex学习笔记-日历选择与显示

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  9. 转载:明明白白VC LIB和DLL的使用

    转载来自:http://dpinglee.blog.163.com/blog/static/1440977532016316813889/ 1.加载lib/头文件 分两种方法: (1)适用于当前项目 ...

  10. javascript,移动划过超链接鼠标变手型

    用css控制鼠标样式的语法如下:<span style="cursor:*">文本或其它页面元素</span>把 * 换成如下15个效果的一种: 下面是对这 ...