hibernate课程 初探一对多映射2-5 创建持久化类并配置映射文件
学习点:
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 创建持久化类并配置映射文件的更多相关文章
- hibernate课程 初探一对多映射2-4 Mysql创建数据库表
1 本节内容: mysql 数据库建表(班级表和学生表) Create table grade(gid varchar(32) primary key, gname varchar(32) not n ...
- Hibernate中如何完成持久化类和数据库映射文件
因为最近写项目需要要到,就在这里码码字,方便以后做一个参考,在这里,我通过的是myeclipse的反向工程来配置持久化类和数据的映射文件的. 1.打开myeclipse,打开数据库视图,对应的是Win ...
- hibernate课程 初探一对多映射2-3 创建hibernateUtil工具类
本节主要内容:创建hibernateUtil工具类:demo demo: HibernateUtil.java package hibernate_001; import org.hibernate. ...
- Hibernate课程 初探一对多映射4-2 cascade级联属性
1 级联属性:hibernate一方和多方设置关联关系,当一方发生相应修改时(见下表),多方不用进行显式修改,也能进行相应修改. 级联在一方和多方xml中都可以设置 属性值 含义和作用 all 对 ...
- Hibernate课程 初探一对多映射3-2 单向多对一的配置
1 多方实体类中加入,一方类和getset方法 //多方定义一个一方的引用 private Grade grade; public Grade getGrade() { return grade; } ...
- Hibernate课程 初探一对多映射2-7 测试-修改和删除学生信息
package com.ddwei.entity; import java.util.Set; import org.hibernate.Session; import org.hibernate.T ...
- hibernate课程 初探一对多映射2-6 测试-添加和查询学生信息
package com.ddwei.entity; import java.util.Set; import org.hibernate.Session; import org.hibernate.T ...
- hibernate课程 初探一对多映射2-2 Myeclipse进行hibernate基本配置
本节主要内容: 1 myeclipse 中hibernate jar包,mysql连接jar包 导入 2 hibernate.cfg.xml的配置 1 一对一映射已经配置过 2 hibernate.c ...
- hibernate课程 初探一对多映射2-1 一对多映射简介
1 在数据库中用主外键的形式实现一对多的映射关系 2 hibernate 在一方设置集合set,表示多方
随机推荐
- HashMap vs Hashtable
一.散列 1. HashMap 1) hashmap的数据结构 Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示: 当我们往hashmap中put元素的时候,先根据key ...
- SOA架构之限流
参考: 服务限流 1. 限流的作用 限流主要的作用是保护服务节点或者集群后面的数据节点,防止瞬时流量过大使服务和数据崩溃(如前端缓存大量实效),造成不可用:还可用于平滑请求. 2. 限流算法 限流算法 ...
- SharePoint安装注意点
在安装SharePoint之前需要注意的地方(整理如下:) 1.首先得先安装IIS服务器和ApplicationServer 2.然后要在运行setup.exe之前先运行prerequisiteins ...
- gitflow工作流简介
gitflow工作流是一种依赖于Git版本管理工具,按特定规范对项目开发.测试.上线流程进行管理的工作方式.它是一种为实现规范化管理的约定,它明确了各个分支的意义,使整个团队的分工协作更加和谐明晰. ...
- react 中文文档案例三 (开关按钮)
开关按钮制作 import React from 'react'; import ReactDOM from 'react-dom'; class Toggle extends React.Com ...
- react 的安装和案列Todolist
react 的安装和案列Todolist 1.react的安装和环境的配置 首先检查有没有安装node.js和npm node -v npm -v 查看相关版本 2.安装脚手架工具 2.构建:crea ...
- MySQL安全优化
一.数据库相关 1. MySQL版本的选择 在正式生产环境中,建议使用5.6或以上系列的版本(5.7不建议,曾经用过这个版本,问题有点多). 2. 运行用户与端口的配置 2.1.确保MySQL运行用户 ...
- linux服务器后台运行程序
让程序脱离终端单独运行 nohub ... & 重新连接ssh后,ps ux 可以查看所有后台程序
- chafen
//f(u)>=f(v)+w //求最大值 跑最短路 v->u -w //求最小值 跑最长路 u->v w
- Eclipse + Git + 码云
1. 进入码云个人首页 点击自己的名称即可 2. 添加一个项目 3. 在Eclipse中创建一个本地Git Eclipse不建议git目录创建在项目的目录下,因此另选一个目录作为本地Git目录 选择一 ...