摘要:
在hibernate中,在使用其update()方法的时候,会发出一条update语句,而这条语句中,hibernate会更新所有的字段,不管程序员想不想更新所有的字段,hibernate发出的sql例句如下: Hibernate: update Peopel ... 阅读全文
摘要:
这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别(Hibernate 3以后的版本就用get()方法取代find()这个方法了),其实这个在网上有很多的论述,可大多语焉不详或经不起实践的推敲,让很多初学者学的满腹疑窦,现在我给大家讲解一下: 1. 对于Hibernate get方法,Hibernate会确认一下该id对应的数据是否存在,首先在sessi... 阅读全文
摘要:
Session在加载实体对象时,将经过的过程: 首先,Hibernate中维持了两级缓存。第一级缓存由Session实例维护,其中保持了Session当前所有关联实体的数据,也称为内部缓存。而第二级缓存则存在于SessionFactory层次,由当前所有由本SessionFactory构造的Session实例共享。出于性能考虑,避免无谓的数据库访问,Session在调用数据库查询功能之前,会先在缓... 阅读全文
摘要:
1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭 这里getCurrentSession本地事务(本地事务:jdbc)时 要在配置文件里进行如下设置 * 如果使用的是... 阅读全文
摘要:
阅读全文
摘要:
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、持久态(Persistent)、脱管态(Detached).处于持久态的对象也称为PO(PersistenceObject),瞬时对象和脱管对象也称为VO(ValueObject). 瞬时态 由new命令开辟内存空间的java对象, eg.Person person=new Person("xi... 阅读全文
摘要:
异常信息: No CurrentSessionContext configured! 解决方法: 在hibernate.cfg.xml文件中的sessionFactory的配置节点中配置如下一段 <property name="current_session_context_class">thread</property> 阅读全文
摘要:
hibernate默认的配置文件时hibernate.cfg.xml文件,但是如果修改了配置文件,不做处理, 则 Configuration().configure().buildSessionFactory();的方式去解析hibernate.cfg.xml,则会报 org.hibernate.HibernateException: /hibernate.cfg.xml not found... 阅读全文
摘要:
这里记录hibernate中组合主键的annotation方式。 hibernate-annotations说明文档中有说到组合主键使用annotation的方式实现,如下几种 下面是定义组合主键的几种语法: 1. 将组件类注解为@Embeddable,并将组件的属性注解为@Id 2. 将组件的属性注解为@EmbeddedId 3. 将类注解为@IdCla... 阅读全文