Hibernate关联关系_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、hibernate关联关系hibenrnate的关联关系是指不同持久类之间的一种结果关系,容易地说,关联关系描述某个对象在某一段时光内向来知道另一个对象的存在。 关联关系包括多样性的关联和方向性的关联。多样性指的是一个持久化类的对象跟另一持久化类的多个对象关联(一对多),还是只能跟以另一个持久化类的一个对象关联(一对一),还是以就是双向都可以与另一方的多个对象关联(多对多);方向性指的是关联的双发是否可以相互拜访(双向关联),还是惟独一端可以拜访另一端(单向关联)。 1、单项多对一: 多对一是最常见,最简单理解的一种关联; 示例:多个员工属于同一个部门; department(部门) empl

2、oyee(员工) 搭建好hibernate,建domain,util,test包; hibernate.cfg.xml配置文件: !doctype hibernate-configuration public -/hibernate/hibernate configuration dtd 3.0/en /dtd/hibernate-configuration-3.0.dtd !- 配置文件 驱动 url 用户名 密码 方言- hibernate-configuration session-factory property name= hiberna

3、te.connection.driver_class com.mysql.jdbc.driver /property property name= hibernate.connection.url jdbc:mysql:/demo /property property name= hibernate.connection.username root /property property name= hibernate.connection.password 042181 /property property name= hibernate.dialect org.hibernate.diale

4、ct.mysqldialect /property property name= hibernate.hbm2l.auto create /property property name= hibernate.show_sql ue /property map resource= com/hbsi/domain/department.hbm.xml / !- 指定映射文件的位置 - mapping resource= com/hbsi/domain/employee.hbm.xml / !- 指定映射文件的位置 - /session-factory /hibernate-configuratio

5、n domain包: 1)、department类 package com.hbsi.domain; import java.util.set; public class department private int ; /* 部门名称*/ private string name; private set employee emps; /*自己加上全部属性的geters和ters办法*/ 2)、depaent.hbm.xml ?xml version= 1.0 ? !doctype hibernate-mapping public -/hibernate/hibernate mapping d

6、td 3.0/en /dtd/hibernate-mapping-3.0.dtd hibernate-mapping package= com.hbsi.domain class name= department table= department id name= id umn= id generator > /id property name= name column= name not-null= true / !- 映射一般的java属性 - set name= emps key column= depart_id / one-to-

7、many > /set /class /hibernate-mapping 3)、employeee类 package com.hbsi.domain; public class employee private int id; /*员工名称*/ private string name; /*特定部门*/ private department depart; /*自己加上全部属性的geters和setters办法*/ 4)employee.hbm.xml ?xml version= 1.0 ? !doctype hibernate-mapping public -/hibernate/h

8、ibernate mapping dtd 3.0/en /dtd/hibernate-mapping-3.0.dtd hibernate-mapping package= com.hbsi.domain class name= employee table= employee id name= id column= id generator > /id property name= name column= name not-null= true / !- 映射一般的java属性 - many-to-one name= depart colu

9、mn= depart_id not-null= true / /class /hibernate-mapping uitl包: 1)、hibernateuitl类 package com.hbsi.hibernate.uti; import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.cfg.configuration; public final class hibernateutil private ic sessionfactory sessionfactory; priv

10、ate hibernateutil() static /用法hibernate完成将对象存入表中。 configuration cfg=new configuration(); /用来完成hibernate的初始化-读取配置文件 cfg.configure(); /sessionfactory对象-drivermanager sessionfactory=cfg.buildsessionfactory(); public static sessionfactory getsessionfactory() return sessionfactory; public static session

11、getsession() return sessionfactory.opensession(); test包: many2one类: package com.hbsi.test; import org.hibernate.hibernate; import org.hibernate.session; import org.hibernate.transaction; import com.hbsi.domain.department; import com.hbsi.domain.employee; import com.hbsi.hibernate.utils.hibernateutil

12、; public class many2one public static void main(string args) add(); employee e=query(1); system.out.print(e.tostring(); /*添加对象办法*/ static department add() session session=null; transaction transaction=null; try session=hibernateutil.getsession(); transaction=session.begintransaction(); department de

13、p=new department(); dep.setname( depart one employee e1=new employee(); e1.setname( tom /*对象模型,对象关联*/ e1.setdepart(dep); session.save(dep); session.save(e1); mit(); return dep; finally if(session!=null) session.close(); static employee query(int empid) session session=null; transaction transaction=null; try session=hibernateutil.getsession(); transaction=session.begintra

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论