ORM工具提供了持久化类和数据表之间的映射关系.实际上,所有的ORM工具大致上都遵循相同的映射思路,ORM基本映射有如下几条映射关系: ⊙ 数据表映射类 : 持久化类被映射到一个数据表.程序使用这个持久化类来创建实例.修改属性.删除实例时,系统会自动转换为对这个表进行CRUD操作. 受ORM管理的持久化类(就是一个普通Java类)对应一个数据表,只要程序对这个持久化类进行操作,系统就可以转换成对对应数据表的操作. ⊙ 数据表的行映射对象(即实例) : 持久化类会生成很多实例,每个实例就对应数据表…
Hibernate的基本用法 ⊙ ORM的基本知识 ⊙ ORM和Hibernate的关系 ⊙ Hibernate的基本映射思想 ⊙ Hibernate入门知识 ⊙ 使用Eclipse开发Hibernate应用 ⊙ Hibernate的体系和核心API ⊙ Hibernate的配置文件 ⊙ 持久化类的基本要求 ⊙ 持久化对象的状态 ⊙ Hibernate的基本映射 ⊙ 数据库对象映射 ⊙ List.Set和Map等集合属性映射 ⊙ 组件属性映射 ⊙ 集合元素为符合类型的映射 ⊙ 符合主键映射 ⊙…
注解映射必须满足两大条件:Hibernate3.2以上版本和JSEE 5. @Entity 类注释,所有要持久化的类都要有@Entity   public class Org  implements java.io.Serializable {    }   @Id 主键       @Id        @GeneratedValue        private String orgId;         private String orgName;   @Column(name="...…
在hibernate的Session里面使用createCriteria可以创建一个Criteria实例帮助我们进行条件查询,不用自己串hql语句,很方便. 用法很简单,首先传Class实例创建Criteria,Class实例对应你想要查询的那个实体: Criteria c = session.createCriteria(Person.class); 然后调用Criteria的add方法加入条件(Restrictions).常用的条件有: 方法 說明 Restrictions.eq 等於 Re…
方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge >= Restrictions.lt < Restrictions.le <= Restrictions.between BETWEEN Restrictions.like LIKE Restrictions.in in Restrictions.and and Restrictions.…
1.类级别注解 @Entity     映射实体类 @Table    映射数句库表  @Entity(name="tableName") - 必须,注解将一个类声明为一个实体bean 属性: name - 可选,对应数据库中的一个表.若表名与实体类名相同,则可以省略. @Table(name="",catalog="",schema="")  - 可选,通常和@Entity 配合使用,只能标注在实体的 class 定义处,表…
导读:  在使用hibernate进行持久化时,有时需要动态的改变对象的加载,比如在编辑页面里面lazy=true,而在浏览页面lazy=false,这样可以在需要lazy的地方才进行控制.而配置文件中Lazy属性是全局控制的,如何处理呢?  当元素或者元素的lazy属性为true时,load() or get() or find()加载这些对象时,Hibernate不会马上产生任何select语句,只是产生一个Obj代理类实例,只有在session没有关闭的情况下运行Obj.getXxx()时…
一个典型的事务应该使用下面的形式 在创建完Session对象后即使用beginTransaction()启动事务 从此开始直到commit()之间的代码 都会处于同一个事务中 这两个函数之间所有的数据库代码都会在commit()时一次性提交 在提交时 如果某一句代码执行出现异常 就会回滚这一次事物之间的所有执行代码 public User getUser(String username) throws HibernateException { Session session = null; Tr…
原本我的写法:Query repeatClientQuery=querysession.createQuery("from ClientInfo as a " +"where a.client_name like :name" ); repeatClientQuery.setParameter("name",clientname); 查询无结果. LIKE 'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden). LIKE '%…
Restrictions.eq --> equal,等于. Restrictions.allEq --> 参数为Map对象,使用key/value进行多个等于的比对,相当于多个Restrictions.eq的效果 Restrictions.gt --> great-than > 大于 Restrictions.ge --> great-equal >= 大于等于 Restrictions.lt --> less-than, < 小于 Restrictions…