
Hibernate
文章平均质量分 72
water_mys
这个作者很懒,什么都没留下…
展开
-
hibernate.hbm2ddl.auto配置
hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下: Hibernate Reference Documentation 3.3.1解释如下:Automatically validate or export schema DDL to the database when the SessionFactory is c...原创 2009-10-20 14:20:43 · 234 阅读 · 0 评论 -
hibernate inverse cascade详解
Inverse和cascade是Hibernate映射中最难掌握的两个属性。两者都在对象的关联操作中发挥作用。 1.inverse属性:inverse所描述的是对象之间关联关系的维护方式。 inverse只存在于集合标记的元素中。Hibernate提供的集合元素包括 Inverse属性的作用是:是否将对集合对象的修改反映到数据库中。 inverse属性的默认值为false,...原创 2009-11-25 00:08:38 · 102 阅读 · 0 评论 -
Hibernate中dynamic-insert和dynamic-update
Hibernate允许我们在映射文件里控制insert和update语句的内容.比如在映射文件中原创 2009-11-24 20:51:05 · 107 阅读 · 0 评论 -
Hibernate级联删除的疑问
今天做了个测试,一共两张表,person和order,person是one方,order是many方。person的hbm文件内容如下: order的hbm文件内容如下: ...2009-11-23 21:43:31 · 142 阅读 · 0 评论 -
Hibernate的merge与update方法的区别
今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样。实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容:1. 数据库记录已存在,更改person的name为一个新的name。merge方法打印出的日志如下:Hibernate: select person0_.id as id0_0_, per...2009-11-22 21:13:22 · 121 阅读 · 0 评论 -
Hibernate中的实体状态
1.临时状态和游离状态都不在session的生命周期中. 2.临时状态:创建实例时是临时状态,不设置实体id或设置的id在表中找不到(delete操作) 3.游离状态(脱管状态):不在session的生命周期中,但实体id(持久化标识)与实际数据库中主键Id都存在且对 应. 4.持久化状态:在session的生命周期中,不仅实体id(持久化标识)与实际数据库中主键Id都存在...原创 2009-11-22 19:51:34 · 81 阅读 · 0 评论 -
Hibernate中get()与load(),query.list()与query.iterate()区别
Hibernate中有两个极为相似的方法get()与load(),他们都可以通过指定的实体类与ID从数据库中读取数据,并返回对应的实例,但Hibernate不会搞两个完全一样的方法的,它们间的不同在于: 1.如果找不到符合条件的纪录,get()方法将返回null.而load()将会报出ObjectNotFoundEcception. 2.[color=red]load()方法可以返回...原创 2009-11-19 17:50:07 · 161 阅读 · 0 评论 -
Hibernate的session.flush做了什么呢?
这是在一次事务提交时遇到的异常。 an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)net.sf.hibernate.AssertionFailure: possible nonthreadsaf...原创 2009-11-14 20:44:31 · 89 阅读 · 0 评论 -
Hibernate3中取得多层数据的所产生的n+1 selects问题的解决
Hibernate3中取得多层数据的所产生的n+1 selects问题的解决。 其实这个问题在Hibernate in Action中已经有很多种解决办法了。但我觉得其中最好的办法是用Criteria的FetchMode来解决,但是Hibernate in Action中写的很不详细。我昨晚试了好长时间来的到答案。下面总结一下。需求这样的,我有四张表(one,two,three,four)从o...原创 2009-11-11 14:00:47 · 97 阅读 · 0 评论 -
Hibernate缓存学习笔记
一级缓存(在同一个Session中,缓存实体对象,生命周期与Session一致) 查询实体 1.执行两次load,get,第二次会从缓存里取 2.执行两次iterate HQL:from Student s where s.id=1 第一次: 首先:select student_id from t_student where student_id=1;查询...原创 2009-10-20 14:37:25 · 80 阅读 · 0 评论 -
hibernate的各种保存方式的区别
hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一、预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached下边是常见的翻译办法:transient:瞬态或者自由态persistent:持久化状态detached:脱管状态或...原创 2009-11-25 00:44:55 · 106 阅读 · 0 评论