`
JavaZhuang
  • 浏览: 9733 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

10_基本映射标签和属性介绍_1

阅读更多

21_22_一对多关联映射_单向_1、2 v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"\@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} p.MsoHeader, li.MsoHeader, div.MsoHeader {margin:0cm; margin-bottom:.0001pt; text-align:center; mso-pagination:none; tab-stops:center 207.65pt right 415.3pt; layout-grid-mode:char; border:none; mso-border-bottom-alt:solid windowtext .75pt; padding:0cm; mso-padding-alt:0cm 0cm 1.0pt 0cm; font-size:9.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} p.MsoFooter, li.MsoFooter, div.MsoFooter {margin:0cm; margin-bottom:.0001pt; mso-pagination:none; tab-stops:center 207.65pt right 415.3pt; layout-grid-mode:char; font-size:9.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no; mso-footnote-separator:url("21_22_一对多关联映射_单向_1、2.files/header.htm") fs; mso-footnote-continuation-separator:url("21_22_一对多关联映射_单向_1、2.files/header.htm") fcs; mso-endnote-separator:url("21_22_一对多关联映射_单向_1、2.files/header.htm") es; mso-endnote-continuation-separator:url("21_22_一对多关联映射_单向_1、2.files/header.htm") ecs;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} -->

21_22_ 一对多关联映射 _ 单向 _1 2

 

例子:

Student.java Classes.java Student.hbm.xml Classes.hbm.xml ExportDB.java HibernateUtils.java one2many.java

 

hihernate 一对多关联映射(单向 Classes----->Student

 

t_classes

id     |    name

1     |   尚学堂

t_student

id     |    name     |   classesid

1      |   10        |     1

2      |   祖儿        |     1

 

 

 

 

 

 

 

 

 

 

 

 

 


一对多关联映射利用了多对一关联映射原理

 

多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一

一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多

 

也就是说一对多和多对一的映射策略是一样的,只是站的角度不同

 

在一一端维护关系的缺点:

       * 如果将 t_student 表里的 classesid 字段设置为非空,则无法保存

       * 因为不是在 student 这一端维护关系,所以 student 不知道是哪个班的,

         所以需要发出多余的 update 语句来更新关系

 

一对多和多对一关系,这两个没多少区别,都是在 的这边加上外键指向 的这边,

主要的区别是:

如果维护的是多对一,当加载 ( 多个学生 ) 的时候,它能把 ( 多个学生对应的那个一个班级 ) 加载进来 ;

如果维护的是一对多,当加载 ( 一个班级 ) 的时候,它能把 ( 一个班级里含有的多个学生 ) 加载进来 ;

 

例子: Student.java 代码

package com.bjsxt.hibernate;

 

public class Student {

    private int id ;

    private String name ;

   

    public int getId() {

       return id ;

    }

    public void setId( int id) {

       this . id = id;

    }

    public String getName() {

       return name ;

    }

    public void setName(String name) {

       this . name = name;

    }

}

Classes.java 代码

package com.bjsxt.hibernate;

 

import java.util.Set;

 

public class Classes {

    private int id ;

    private String name ;

    private Set studentes ;

   

    public int getId() {

       return id ;

    }

    public void setId( int id) {

       this . id = id;

    }

    public String getName() {

       return name ;

    }

    public void setName(String name) {

       this . name = name;

    }

    public Set getStudentes() {

       return studentes ;

    }

    public void setStudentes(Set studentes) {

       this . studentes = studentes;

    }  

}

Student.hbm.xml 代码

<? xml version = "1.0" ?>

<! DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

< hibernate-mapping >

    < class name = "com.bjsxt.hibernate.Student" table = "t_Student" >

       < id name = "id" >

           < generator class = "native" />

       </ id >

       < property name = "name" />

    </ class >

</ hibernate-mapping >

Classes.hbm.xml 代码

<? xml version = "1.0" ?>

<! DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

< hibernate-mapping >

    < class name = "com.bjsxt.hibernate.Classes" table = "t_Classes" >

       < id name = "id" >

           < generator class = "native" />

       </ id >

       < property name = "name" />

      

       <!-- Student 实体里没有 classesid 字段,所以在这里加上个外键 classesid, 作为外键指向 Student -->

       < set name = "studentes" >

           < key column = "classesid" />

           < one-to-many class = "com.bjsxt.hibernate.Student" />

       </ set >

    </ class >

</ hibernate-mapping >

HibernateUtils.java 代码

package com.bjsxt.hibernate;

 

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

 

public class HibernateUtils {

 

    private static SessionFactory factory ;

   

    static {

       try {

           Configuration cfg = new Configuration().configure();

           factory = cfg.buildSessionFactory();

       } catch (Exception e) {

           e.printStackTrace();

       }

    }

   

    public static SessionFactory getSessionFactory() {

分享到:
评论

相关推荐

    Hibernate学习笔记

    007 Hibernate 基本映射标签和属性介绍 008 多对一 关联映射 009 一对一 主键关联映射_单向 010 一对一 主键关联映射_双向 011 一对一 唯一外键关联映射_单向 012 一对一 唯一外键关联映射_双向 013 session_flush ...

    由浅到深详细讲解JSP自定义标签

    标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的。 4、标签处理类(Tag Handle Class) 标签处理类是一个Java类,这个类继承了...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 ...

    从J2SE到J2EE知识点介绍

    1. Java基本值类型的Hibernate映射 224 2. Java时间和日期类型的Hibernate映射类型 224 3. Java大对象类型的Hibernate映射类型 225 4. 关联关系映射 225 5. Hibernate的事务与并发 238 (十) 数据库 240 1. 数据库的...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 ...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 ...

    (全)传智播客PHP就业班视频完整课程

    9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 ...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 ...

    1VB程序设计初步.pptx

    VB程序设计初步 ——基础概念 1VB程序设计初步全文共25页,当前为第1页。... 窗体和控件的基本属性(1) Name(名称)属性 Name属性是所有控件都具有的属性,Name属性的值作为控件的标识在程序中被引用

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    10.4 实体的基本映射387 10.4.1 映射实体类的属性 387 10.4.2 将实体映射到多个表 394 10.4.3 映射复合类型的属性 396 10.4.4 映射实体类的主键 398 10.5 关联关系映射 402 10.5.1 单向N-1关联 403 10.5.2 单向1-1...

    Grails 中文参考手册

    1. 简介 2. 起步 2.1 下载并安装Grails 2.2 创建一个Grails应用 2.3 Hello World示例 2.4 使用IDE 2.5 规约配置 2.6 运行Grails应用 2.7 测试Grails应用 2.8 部署Grails应用 2.9 所支持的Java EE容器 2.10 创建工件 ...

    Dreamweaver网页设计课程的核心知识点.doc

    + 标签的属性:&lt;标签的名字 属性1 属性2 属性3&gt; + 重要的标签:头部标签、主体标签、图片标签、文字标签、字体标签、列表标签、表格标签、表单标签 三、基本网页设计 * 设置页面属性 * 设置文件头信息 * 网页中...

    HTML开发王

    3.1 使用标签、元素和属性 3.1.1 标签 3.1.2 元素 3.1.3 属性的定义 3.1.4 属性值的定义 3.1.5 元素和属性的大小写规范 3.2 字符引用 3.2.1 字符数字引用 3.2.2 字符实体引用 3.3 使用注释 3.4 关于空白和空白字符 ...

    mybatis 配置

    在本篇文章中,我们将详细介绍 MyBatis 配置的基本概念和元素。 SQL 映射 XML 文件 SQL 映射 XML 文件是所有 SQL 语句放置的地方。需要定义一个 workspace,一般定义为对应的接口类的路径。在 MyBatis 配置文件中...

    MATLAB 7_0实用指南 (上册)

    第1章MATLAB7.0简介 1.1MATLAB的特点 1.1.1MATLAB的基本特点 1.1.2MATLAB7.0的新特点 1.2MATLAB桌面简介 1.2.1启动按钮 1.2.2命令窗口 1.2.3命令历史窗口 1.2.4T作空间窗口 1.2.5当前...

    JSP 自定义标签第1/3页

    一、基本概念: 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库...

    低清版 大型门户网站是这样炼成的.pdf

    4.3.1 hibernate的基本映射数据类型 212 4.3.2 hibernate的主键映射 218 4.3.3 hibernate的实体映射 228 4.3.4 映射一对一关联关系 228 4.3.5 映射多对一单向关联关系 235 4.3.6 映射一对多双向关联关系 239 ...

    在TreeCtrl控件中移动鼠标改变字体及颜色

    加入了相似的功能,其基本思路是:在与TreeCtrl控件关联的类(CDirTreeCtrl)中重载鼠标移动消息函数,设置相关的文本的颜色参数,在WM_PAINT消息映射函数定义的设备环境中改变逻辑字体属性(由LOGFONT结构描述)并使用设置...

    ExtAspNet_v2.3.2_dll

    -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时会出现空白页面的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -...

Global site tag (gtag.js) - Google Analytics