Hibernate中的几种映射关系----------多对一关联映射
来源:互联网 发布:兄弟连 php 课程表 编辑:程序博客网 时间:2024/05/22 15:53
Hibernate的映射关系中,多对一的映射关系只有多对一单向映射关系。
映射原理:在“多”的一端加入一个外键,指向“一”的一端,由多的一端维护关联关系。“多”的一端持有“一”的一端的引用。
下面举例用户(User)和分组(Group),多个用户可以对应同一个分组,在多对已个映射关系中,是具有方向性的,即可以通过用户(User)看到分组(Group),但从分组不能看到用户。数据库表中,需要在User表中添加一个外键来指向分组。
User.java
package com.suo.bo;/** * User entity. @author MyEclipse Persistence Tools */public class User implements java.io.Serializable {// Fieldsprivate Integer id;private String name;private Group group;// Constructorspublic Integer getId() {return this.id;}public void setId(Integer id) {this.id = id;}public String getName() {return this.name;}public void setName(String name) {this.name = name;}public Group getGroup() {return group;}public void setGroup(Group group) {this.group = group;}}
User.hbm.xml
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping> <class name="com.suo.bo.User" table="user" catalog="hibernate"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="increment" /> </id> <!-- group是User类属性 ,表达该对象与Group是多对一的关系--> <many-to-one name="group" class="com.suo.Group" column="groupId"></many-to-one> <property name="name" type="java.lang.String"> <column name="name" /> </property> <property name="groupId" type="java.lang.Integer"> <column name="groupId" /> </property> </class></hibernate-mapping>
Group.java
package com.suo.bo;/** * Group entity. @author MyEclipse Persistence Tools */public class Group implements java.io.Serializable {// Fieldsprivate Integer id;private String name;// Property accessorspublic Integer getId() {return this.id;}public void setId(Integer id) {this.id = id;}public String getName() {return this.name;}public void setName(String name) {this.name = name;}}Group.hbm.xml
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping> <class name="com.suo.bo.Group" table="group" catalog="hibernate"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="increment" /> </id> <property name="name" type="java.lang.String"> <column name="name" /> </property> </class></hibernate-mapping>
0 0
- Hibernate中的几种映射关系----------多对一关联映射
- Hibernate中的几种映射关系----------一对多关联映射
- Hibernate中的几种映射关系----------多对多关联映射
- Hibernate关联关系映射(多对一关联映射)
- Hibernate关联关系映射-----单向多对一映射配置
- Hibernate中的基本映射和多对一关联映射
- Hibernate关联映射--多对一映射
- Hibernate之关联关系映射(一对多和多对一映射,多对多映射)
- Hibernate关联关系映射 一对一 一对多 多对一
- Hibernate关联关系映射(一对多/多对一)
- 【Hibernate】--关联关系映射:一对多和多对一
- Hibernate关系映射(7)_多对一单向关联
- Hibernate关联关系映射_单边多对一
- Hibernate关联关系映射_多对一双边
- hibernate-关系映射(多对一单向关联)-8
- Hibernate对象关系映射-- 多对多关联关系映射
- Hibernate 映射多对多关联关系
- Hibernate 映射多对多关联关系
- ubuntu安装rar
- Halcon学习之基于形状的模板匹配(一)
- ls 命令详解
- bzoj 2458: [BeiJing2011]最小三角形 分治
- 民生银行用户画像建设
- Hibernate中的几种映射关系----------多对一关联映射
- Android Studio生成keystore签名文件
- GitHub Pages 快速搭建个人主页
- unity学习笔记01--基础视图以及基本操作
- 1154 easy Sort
- 归纳笔记021:UIImagePickerController拍照和录制视频
- Java基础----动态代理
- dfs全排列
- 内存泄露检测