学习点:

1  一对多映射,一方 Grade.hbm.xml的写法:

<hibernate-mapping>
<class name="com.ddwei.entity.Grade" table="grade">
<id name="gid" type="java.lang.Integer">
<column name="GID" />
<generator class="increment" />
</id>
<property name="gname" type="java.lang.String">
<column name="GNAME" length="20" not-null="true"/>
</property> <!-- 配置单向的一对多关系 -->
<set name="students" table="student">
<!-- 指定的外键列 -->
<key column="gid">
</key>
<one-to-many class="com.ddwei.entity.Student"/>
</set>
</class>
</hibernate-mapping>

2    一对多映射,cfg.xml引入hbm路径方法

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/bendi?useUnicode=true&CharacterEncoding=utf8</property>
<property name="connection.username">root</property>
<property name="connection.password">***</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property> <mapping resource = "com/ddwei/entity/Grade.hbm.xml"/>
<mapping resource = "com/ddwei/entity/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>

3  一对多映射,一方java类引入多方方式

package com.ddwei.entity;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set; public class Grade {
private int gid;
private String gname;
private String gdesc; //在一方定义多方的集合
//一个班级有多个学生,且每个学生都是唯一的,所以用Set集合
private Set<Student> student = new HashSet<Student>(); public int getGid() {
return gid;
} public void setGid(int gid) {
this.gid = gid;
} public String getGname() {
return gname;
} public void setGname(String gname) {
this.gname = gname;
} public String getGdesc() {
return gdesc;
} public void setGdesc(String gdesc) {
this.gdesc = gdesc;
} public Set<Student> getStudent() {
return student;
} public void setStudent(Set<Student> student) {
this.student = student;
} public Grade(){
super();
} public Grade(int gid, String gname, String gdesc, Set<Student> student) {
super();
this.gid = gid;
this.gname = gname;
this.gdesc = gdesc;
this.student = student;
} }

hibernate课程 初探一对多映射2-5 创建持久化类并配置映射文件的更多相关文章

  1. hibernate课程 初探一对多映射2-4 Mysql创建数据库表

    1 本节内容: mysql 数据库建表(班级表和学生表) Create table grade(gid varchar(32) primary key, gname varchar(32) not n ...

  2. Hibernate中如何完成持久化类和数据库映射文件

    因为最近写项目需要要到,就在这里码码字,方便以后做一个参考,在这里,我通过的是myeclipse的反向工程来配置持久化类和数据的映射文件的. 1.打开myeclipse,打开数据库视图,对应的是Win ...

  3. hibernate课程 初探一对多映射2-3 创建hibernateUtil工具类

    本节主要内容:创建hibernateUtil工具类:demo demo: HibernateUtil.java package hibernate_001; import org.hibernate. ...

  4. Hibernate课程 初探一对多映射4-2 cascade级联属性

    1 级联属性:hibernate一方和多方设置关联关系,当一方发生相应修改时(见下表),多方不用进行显式修改,也能进行相应修改.   级联在一方和多方xml中都可以设置 属性值 含义和作用 all 对 ...

  5. Hibernate课程 初探一对多映射3-2 单向多对一的配置

    1 多方实体类中加入,一方类和getset方法 //多方定义一个一方的引用 private Grade grade; public Grade getGrade() { return grade; } ...

  6. Hibernate课程 初探一对多映射2-7 测试-修改和删除学生信息

    package com.ddwei.entity; import java.util.Set; import org.hibernate.Session; import org.hibernate.T ...

  7. hibernate课程 初探一对多映射2-6 测试-添加和查询学生信息

    package com.ddwei.entity; import java.util.Set; import org.hibernate.Session; import org.hibernate.T ...

  8. hibernate课程 初探一对多映射2-2 Myeclipse进行hibernate基本配置

    本节主要内容: 1 myeclipse 中hibernate jar包,mysql连接jar包 导入 2 hibernate.cfg.xml的配置 1 一对一映射已经配置过 2 hibernate.c ...

  9. hibernate课程 初探一对多映射2-1 一对多映射简介

    1 在数据库中用主外键的形式实现一对多的映射关系 2 hibernate 在一方设置集合set,表示多方

随机推荐

  1. java基础之开发环境配置

    一. 环境变量配置的原理 一.  配置环境变量path 如果我们按照上面的来编译和运行的话未免太过于麻烦了,那么在这里我们可以配置环境变量PATH 1.配置环境变量的步骤 这时可以直接来看效果 如果d ...

  2. sqlplus能登录但查询数据报ORA-00942: 表或视图不存在

    在表名前加表所属的用户就能查了: SELECT * FROM ABC.TABLENAME;(ABC是表的OWNER)

  3. CF567E President and Roads

    \(\color{#0066ff}{ 题目描述 }\) 给出一个有向图,从起点走到终点(必须走最短路),问一条边是否一定会被经过,如果不经过它,可以减小它的多少边权使得经过它(边权不能减少到0) \( ...

  4. p2p-如何拯救k8s镜像分发的阿喀琉斯之踵?

    K8s的出现为PaaS行业的发展打了一针兴奋剂,Docker+k8s的技术路线已经成为了容器云的主流.尤其针对大流量,大弹性的应用场景来说,k8s将其从繁杂的运维.部署工作中彻底拯救出来.然而事情往往 ...

  5. 14.链表中倒数第k个节点

    题目描述:   输入一个链表,输出该链表中倒数第k个结点. 思路分析:   设置两个指针,一个fast一个slow,都从链表头开始,让fast先走k步,然后两个指针一起走,当fast走到尾部,那么sl ...

  6. jenkins在windows系统下部署安装,使用

    首先需要从官网上下载下来war包,让进入tomcat中 启动tomcat,然后可以看一堆日志 再在网站输入 localhost:8080/jenkins就会进去下面界面: 会出现上面状况: 需要进入: ...

  7. eclipse项目中的java文件导入后变为空心J问题

    1,选择工程名字右键——>属性——>JavaBuild Path会看到右侧Source标签中为空白 2,点击Add Folder...选择如图所示的src包和相关的配置文件包,点击确定: ...

  8. JS匿名函数以及arguments.callee的调用

    var res = (function (n) {    if( n>1 ) {        return n + arguments.callee( n-1 );    } else {   ...

  9. mysqldump的用法

    1.mysqldump 是文本备份还是二进制备份 它是文本备份,如果你打开备份文件你将看到所有的语句,可以用于重新创建表和对象.它也有 insert 语句来使用数据构成表. mysqldump可产生两 ...

  10. Win10家庭版组策略gpedit.msc的问题

    大家都认为,Windows家庭版中并不包含组策略,其实不然,它是有相关文件的,只是不让你使用而已.那么我们让系统允许你使用就好了.首先你需要在桌面上新建一个txt文本文档.然后将以下代码复制到这个新建 ...