随笔分类 - 4 O/R Mapping
摘要:自己的话: Hibernate Hibernate对数据库结构提供了较为完整的封装, Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,表达立体的对象继承,聚合等等关系。 Hibernate实现了 SQL 的自动生成和执行。 当对面向对象设计要求较高的项目,建议使用Hibernate作为持久层框架。 iBatis iBATIS入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验, 对于没有那么高的对象模型要求的项目来说,相当完美。 iBATIS的缺点就是框架还是比较简陋,功能尚有缺失,...
阅读全文
摘要:hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。参考:http://yhceye2010.iteye.com/blog/1169014-----------------原文-------------------第一篇这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别(Hibernate 3以后的版本就用get()方法取代find()这个方法了),其实这个在网上有很多的论述,可大多语焉不详或经
阅读全文
摘要:转帖:http://yhceye2010.iteye.com/blog/1142819------------原文--------------在一个拥有单独业务层的应用中,业务层必须在返回之前,为web层“准备”好其所需的数据集合。这就意味着 业务层应该载入所有表现层/web层所需的数据,并将这些已实例化完毕的数据返回。通常,应用程序应该 为web层所需的每个集合调用Hibernate.initialize()(这个调用必须发生咱session关闭之前); 或者使用带有FETCH从句,或FetchMode.JOIN的Hibernate查询, 事先取得所有的数据集合。如果你在应用中使用了Comm
阅读全文
摘要:转帖:http://yhceye2010.iteye.com/blog/1141896---------原文-------------------现在EJB3实体Bean是纯粹的POJO。实际上表达了和Hibernate持久化实体对象同样的概念。他们的映射都通过JDK5.0注释来定义(EJB3规范中的XML描述语法至今还没有定下来)。注释分为两个部分,分别是逻辑映射注释和物理映射注释,通过逻辑映射注释可用描述对象模型,类之间的关系等等,而物理映射注释则描述了物理的schema,表,列,索引等等。下面外面在代码中将混合使用这两种类型的注释(一)声明实体@EntityPOJO用@Entity进行实
阅读全文
摘要:hibernate 映射文件 生成数据库表:使用hibernate.hbm2ddl.auto 参数 http://apps.hi.baidu.com/share/detail/34606532数据库表反向生成hibernate 映射文件: 1. Middlegen-Hibernate 2. In myEclipse, use Hibernate Reverse Enginnering http://yhceye2010.iteye.com/blog/1142793---------详细情况--------------在hibernate.cfg.xml中添加: ...
阅读全文
摘要:hibernate延迟加载只对load,get,find等一些方法有用,对hql等写SQL的方法无效。(但是属性延迟加载的例子不就是使用HQL么???)hibernate提供了对实体对象、集合、属性三种类型的延迟加载。一、实体对象的延迟加载配置方法<hibernate-mapping><class name="com.neusoft.entity.User" table="user" lazy="true">...</class></hibernate-mapping>使用:User u
阅读全文
摘要:一级缓存: 就是Session级别的缓存。一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中。 如果短时间内这个session(一定要同一个session)又做了同一个操作,那么hibernate直接从一级缓存中拿,而不会再去连数据库,取数据。 它是内置的事务范围的缓存,不能被卸载。二级缓存: 就是SessionFactory级别的缓存。顾名思义,就是查询的时候会把查询结果缓存到二级缓存中。 如果同一个sessionFactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果,而不会再去连接数据库。 这是可选的插件式的缓存,在...
阅读全文
浙公网安备 33010602011771号