`
Flemming323
  • 浏览: 10150 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Hibernate(一)

    博客分类:
  • Java
 
阅读更多

Hibernate工作原理及为什么要用? 
原理:   
1. 读取并解析配置文件  
 
2. 读取并解析映射信息,创建SessionFactory  
 
3. 打开Sesssion 

 

4. 创建事务Transation  

 

5. 持久化操作   

 

6. 提交事务  
 
7. 关闭Session 
 
8. 关闭SesstionFactory  
 
为什么要用:    
1.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

 

2.Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作  
 
3.hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
  
4.hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

 

hibernate Restrictions用法:  
  【QBC常用限定方法】 
  Restrictions.eq -->等于
  Restrictions.allEq --> 参数为Map对象,使用key/value进行多个等于的比对,相当于多个Restrictions.eq的效果
  Restrictions.gt -->大于
  Restrictions.ge -->(great-equal)大于等于
  Restrictions.lt -->(less-than)小于
  Restrictions.le -->小于等于
  Restrictions.between --> 对应SQL的between子句
  Restrictions.like --> 对应SQL的LIKE子句
  Restrictions.in --> 对应SQL的in子句
  Restrictions.and --> and 关系
  Restrictions.or --> or 关系
  Restrictions.isNull --> 判断属性是否为空,为空则返回true
  Restrictions.isNotNull --> 与isNull相反
  Restrictions.sqlRestriction --> SQL限定的查询
  Order.asc --> 根据传入的字段进行升序排序
  Order.desc --> 根据传入的字段进行降序排序
  MatchMode.EXACT --> 字符串精确匹配.相当于"like 'value'"
  MatchMode.ANYWHERE --> 字符串在中间匹配.相当于"like '%value%'"
  MatchMode.START --> 字符串在最前面的位置.相当于"like 'value%'"
  MatchMode.END --> 字符串在最后面的位置.相当于"like '%value'"
  
HQL=>Hibernate Query Language  

用@Transient标记出某个字段,这个字段就不会参与对数据库表的操作,是一个辅助字段

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics