Hibernate单一实体映射

Hibernate单一实体映射

ID:37914943

大小:375.00 KB

页数:7页

时间:2019-06-02

Hibernate单一实体映射_第1页
Hibernate单一实体映射_第2页
Hibernate单一实体映射_第3页
Hibernate单一实体映射_第4页
Hibernate单一实体映射_第5页
资源描述:

《Hibernate单一实体映射》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、映射&状态管理重点hibernate:对象和关系转化的API对象转数据库,数据库转对象对象持久化:将内存中的对象状态存在的数据转存到外部持久设备上.并且适当的时候可以将持久设备(硬盘光盘等)中的数据恢复到内存对象状态的数据.为什么用对象持久化?物理原因:1.内存不能持久化2.内存容量有限业务原因:3.信息共享(流动)4.管理(安全,有效,可以设置权限)5.大规模检索所以对象持久化是必须的怎样实施对象持久化?1.对象序列化,实现Serializable接口(针对个别对象,结果是本地二进制文件,需要恢复后才能读取,不能检索,不适合存取序列化海量数据,只能在物理上有作用,用于少量的短时间的)

2、2.放数据库中(物理业务都可以)所以企业级对象持久化使用数据库.怎样使用数据库进行对象持久化?历史发展过程:1.JDBC优点:1.功能完备,最底层的(都是基于这个接口)2.理论上效率最高3.接口粒度细缺点:1.代码量大2.开发难度大(关联太多,开发会的人少)2.EJB的实体bean2.X优点:封装了JDBC缺点:采取了重量级的解决方案,捆绑销售(1.成本高2.维护工作量大3.在EJB中实体最弱4.API更复杂5.依赖服务器,所以不能在服务器之外进行测试)3.轻量级的ORM框架(hibernate)轻量级:不需要服务器,作为一个单一功能的类库优点:1.专业2.不需要依赖服务器,测试调试方

3、便3.由于只是一个类库,功能是可以修改的4.拥有成本低5.封装了JDBC,提供了简单的API缺点:功能完备性低(批量更新方面)Hibernate工作原理:封装JDBC,完成对象持久化见图开发步骤:0.开发环境1.先设计持久类2.映射文件3.schema数据库表结构4.应用程序其他部分测试类Test(hibernateAPI)持久类:1.要有一个唯一标识符oid,要存储到数据库,对应要有主键.而且还要是中性的(增删改查都需要主键,各个主键怎么产生不统一,所以要用hibernate产生一个oid,作为表主键,负责维护)2.空的构造方法要用x=newx();x.setm();来使用,不能使用

4、有参3.使用set/get方法hibernateAPI:session的save()/delete()/update()/create()环境1.类库导入Eclipse工程中a.类库***导入hibernate库文件***1、在eclipse中建立一个java工程,如:hbn2、在工程hbn的属性--BuildPath中选择AddLibraries3、在AddLibraries窗口中选择UserLibrary点next按钮4、在UserLibrary窗口中点UserLibraries...按钮5、在UserLibraries窗口中,点new按钮6、在Newuserlibrary窗口中,

5、填写一个Userlibaryname(如:hbnlib,注意不要选择Systemlibary复选框),点OK按钮回到UserLiberies窗口7、在UserLiberaries窗口中选择刚刚创建的hbnlib,点Addjars按钮8、在打开的文件选择窗口中找到解压好的hibernate的库文件,全部选中,点"打开"按钮,返回UserLibraries窗口9、在UserLibraries窗口中点OK按钮,返回UserLibrary窗口;再点Finish按钮,结束操作2.xml映射(类表)配置(DB连接信息)映射文件编码规范XXX.hbm.xmla.一个映射文件映射一个持久类(类对应表属

6、性对应字段)b.映射文件名称与持久类名称保持一致AccountAccount.hbm.xmlc.映射文件与其映射的持久类放在同一个包路径中主键oid的生成采用高低位算法,高位由私有计数器生成,低位由共有计数器生成publicclassTestacc{publicstaticvoidmain(String[]args){Accountacc=newAccount("zxm316733855",1000.0);//Configurationcfg=newConfiguration();//cfg.configure();//读配置文件,相当于加载驱动//没有返回值为void的,可以返回调用

7、对象的引用this,相当于..Configurationcfg=newConfiguration().configure();SessionFactorysf=cfg.buildSessionFactory();//取出session工厂//SeesionFactory是重量级对象,并且是线程安全的,可以多线程//一个应用程序一个SessionFactory就可以,应用程序结束要关闭Sessions=sf.openSession();//造出s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。