摘要: Session在加载实体对象时,将经过的过程: 首先,Hibernate中维持了两级缓存。第一级缓存由Session实例维护,其中保持了Session当前所有关联实体的数据,也称为内部缓存。而第二级缓存则存在于SessionFactory层次,由当前所有由本SessionFactory构造的Session实例共享。出于性能考虑,避免无谓的数据库访问,Session在调用数据库查询功能之前,会先在缓... 阅读全文
posted @ 2011-02-15 21:44 seed_lee 阅读(1811) 评论(0) 推荐(0) 编辑
摘要:   1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭 这里getCurrentSession本地事务(本地事务:jdbc)时 要在配置文件里进行如下设置     * 如果使用的是... 阅读全文
posted @ 2011-02-15 21:20 seed_lee 阅读(14140) 评论(0) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2011-02-15 21:06 seed_lee 阅读(653) 评论(0) 推荐(0) 编辑
摘要:   Hibernate的对象有3种状态,分别为:瞬时态(Transient)、持久态(Persistent)、脱管态(Detached).处于持久态的对象也称为PO(PersistenceObject),瞬时对象和脱管对象也称为VO(ValueObject). 瞬时态 由new命令开辟内存空间的java对象, eg.Person person=new Person("xi... 阅读全文
posted @ 2011-02-15 20:58 seed_lee 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 异常信息: No CurrentSessionContext configured!   解决方法: 在hibernate.cfg.xml文件中的sessionFactory的配置节点中配置如下一段 <property name="current_session_context_class">thread</property> 阅读全文
posted @ 2011-02-15 19:55 seed_lee 阅读(835) 评论(0) 推荐(0) 编辑
摘要: hibernate默认的配置文件时hibernate.cfg.xml文件,但是如果修改了配置文件,不做处理, 则 Configuration().configure().buildSessionFactory();的方式去解析hibernate.cfg.xml,则会报 org.hibernate.HibernateException: /hibernate.cfg.xml not found... 阅读全文
posted @ 2011-02-15 19:26 seed_lee 阅读(1914) 评论(0) 推荐(0) 编辑
摘要: 这里记录hibernate中组合主键的annotation方式。 hibernate-annotations说明文档中有说到组合主键使用annotation的方式实现,如下几种 下面是定义组合主键的几种语法: 1.  将组件类注解为@Embeddable,并将组件的属性注解为@Id 2.  将组件的属性注解为@EmbeddedId 3.  将类注解为@IdCla... 阅读全文
posted @ 2011-02-15 19:12 seed_lee 阅读(8269) 评论(0) 推荐(1) 编辑
摘要: 如果数据库中用多个字段而不仅仅是一个字段作为主键,也就是联合主键,这个时候就可以使用hibernate提供的联合主键生成策略。 具体如下: 可以使用一个组件作为一个实体类的标识符。你的组件类必须满足以下要求: 它必须实现 java.io.Serializable 接口 它必须重新实现 equals() 和 hashCode() 方法,始终和组合关键字在数据库中的概念保持一致 注意:在 Hibe... 阅读全文
posted @ 2011-02-14 23:50 seed_lee 阅读(6079) 评论(0) 推荐(0) 编辑
摘要: 记录hibernate中使用annotation的方式实现主键生成策略: 一般情况下,hibernate中使用annotation的主键生成策略,都是使用annotation的标准注解(javax.persistence.GeneratedValue),而不是使用hibernate的扩展的annotation方式,当然,使用也是没有错的,推荐使用标准的annotation。 标准的annota... 阅读全文
posted @ 2011-02-14 22:15 seed_lee 阅读(59372) 评论(0) 推荐(3) 编辑
摘要:       hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种使用log4j的日志框架来代替slf4j日志框架的实现,具体配置以及实现如下: 一.加入log4j的日志框架 说明:1. &#... 阅读全文
posted @ 2011-02-14 20:50 seed_lee 阅读(3678) 评论(0) 推荐(0) 编辑