Hibernate学习笔记上
来源:互联网 发布:企业备案贷款域名出售 编辑:程序博客网 时间:2024/06/08 06:21
最近忙里偷闲,研究下ORM的框架,一直使用ibatis,想换换口味了,使用很火的hibernate,没想到两者的差距是如此的大,写下自己使用后的感觉。
PS:如有错误请留言讨论,凡事没有绝对,特别是在软件界。
详细的就不阐述了,使用过的应该都会有感触,在使用hibernate的时候,
需要你考虑的更多,特别是数据库的关系,而以前自己手写的时候没有想的那么深入。
ibatis的自由度很大,SQL完全自己写,很灵活,但远没有hibernate那么强大
学习笔记(不包括注解):
首先从hibernate的配置文件说起
hibernate的配置文件分为两种:
主配置文件(hibernate.cfg.xml):一般只有一个,当然多个数据库就另当别论
包含以下几部分的内容(根标签 hibernate-configuration):
1.数据库的连接信息:url,驱动,用户名,密码(和通过JDBC连接完全一致)
2.hibernate的属性配置:show_sql,dialect 是最常用的了,其他的google吧...
3.配置映射文件的位置(任意个,是第二种配置文件,稍候即会介绍)
映射配置文件(类名.hbm.xml):任意个(根标签 hibernate-mapping)
映射文件就是实体类与数据库中的表形成的对应关系
hibernate中的一些术语:
即时加载:不管是否使用,直接从数据库中取出放入内存(典型的有session.get方法)
延迟加载:直到使用的时候才从数据库中取数据(代理模式,典型的有session.load方法)
必须保证session要处于开启状态,否则会出异常
HQL(hibernate query sql):使用过SQL的上手都不会很困难
注意点:from 的是类名,不是表名 where...and...都是类属性名,不是表的列名
Criteria(对象查询):以面向对象的方式检索数据(不用也完全没关系)
SQL:直接使用sql语句查询
三种实现方式:
hql: session.createQuery方法
criteria:session.createCriteria方法
sql: session.createSQLQuery方法
对象的三种状态
临时态:新创建的对象
持久态:对象进行过了持久化操作(和数据库有过交互)
游离态:从持久态转化而来(例如:session.close方法)
以上只是初步学习的内容,要深入还有很长的路要走了
目前正在研究多对多之间的关系,控制反转
这次发的主要是理论(很重要),有时间会在发一篇应用补全
- Hibernate学习笔记上
- 【Hibernate学习笔记】hibernate入门
- Hibernate学习笔记:初识Hibernate
- Hibernate框架笔记(上)
- Hibernate Synchronizer 学习笔记
- hibernate学习笔记1
- Hibernate 学习笔记
- Hibernate学习笔记
- Hibernate 学习笔记
- Hibernate 实例学习笔记
- Hibernate学习笔记(1)
- hibernate学习笔记
- Hibernate学习笔记(一)
- Hibernate学习笔记
- Hibernate学习笔记!- -
- Hibernate学习笔记(一)
- Hibernate学习笔记
- Hibernate 学习笔记
- 用Google Code上传备份管理代码
- jQuery弹出层插件大全
- 第一次提patch
- linux2.6_yaffs2移植
- Excel保存CSV后列数减少问题
- Hibernate学习笔记上
- linux fedora 14(内核2.6.35.6) PF_RING+libpcap 极速捕获千兆网数据包,不丢包
- SharePoint 2010 工作流解决方案:创建带有关联窗体和启动窗体的工作流
- POJ_2528 线段树+离散化
- 递归时要注意数组越界
- 跨平台编程和QT
- xp下实现窗体透明特效SetLayeredWindowAttributes函数
- Java金典面试题
- ThinkPHP创建应用的一般开发流程及实例