摘要:
Hibernate主要有三种查询方法:1.HQL (Hibernate Query Language)和SQL很类似,支持分页、连接、分组、聚集函数和子查询等特性,但HQL是面向对象的,而不是面向关系数据库中的表。正因查询语句是面向Domain对象的,所以使用HQL可以获得跨平台的好处,Hibernate会自动帮我们根据不同的数据库翻译成不同的SQL语句。这在需要支持多种数据库或者数据库迁移的应用中是十分方便的。但得到方便的同时,由于SQL语句是由Hibernate自动生成的,所以这不利于SQL语句的效率优化和调试,当数据量很大时可能会有效率问题,出了问题也不便于排查解决。2.QBC/QBE 阅读全文
随笔分类 - Hibernate
Hibernate与数据库锁
2012-08-11 22:40 by java线程例子, 868 阅读, 收藏,
摘要:
一、为什么要使用锁?要想弄清楚锁机制存在的原因,首先要了解事务的概念。事务是对数据库一系列相关的操作,它必须具备ACID特征:A(原子性):要么全部成功,要么全部撤销。C(一致性):要保持数据库的一致性。I(隔离性):不同事务操作相同数据时,要有各自的数据空间。D(持久性):一旦事务成功结束,它对数据库所做的更新必须永久保持。我们常用的关系型数据库RDBMS实现了事务的这些特性。其中,原子性、一致性和持久性都是采用日志来保证的。而隔离性就是由今天我们关注的锁机制来实现的,这就是为什么我们需要锁机制。如果没有锁,对隔离性不加控制,可能会造成哪些后果呢?1.更新丢失:事务1提交的数据被事务2覆盖。 阅读全文
HelloWorld之Hibernate注解
2012-08-11 15:56 by java线程例子, 332 阅读, 收藏,
摘要:
Hibernate使用了Java标准的JPA注解,这个示例使用了SQLServer 2005数据库。项目结构:hibernate.cfg.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configura 阅读全文