hibernate程序解释

hibernate程序解释,第1张

//创建一个查询样本,hibernate会根据你这个object.getClass去和hbm配置文件去反射pojo中的属性和值。

Example example = Example.create(object)

//创建一个查询,大致原理是根据hbm中定义和entiryname 组合具体的条件生成或缓存抓取PrepareStatement,比如你 User类有id,hbm定义为id,他会组合一个条件 ..where id=? ...

Criteria criteria = getSession().createCriteria(entityName)

//把你的查询样本的值给绑定上去,原始jdbc会发生setParameter(...)

criteria.add(example)

//查询,返回list

return criteria.list()

Hibernate工作原理是Configuration读取Hibernate的配置文件和映射文件中的信息,即加载配置文件和映射文件,并通过Hibernate配置文件生成一个多线程的SessionFactory对象

然后,多线程SessionFactory对象生成一个线程Session 对象;Session对象生成Query对象或者Transaction对象;可通过Session对象的get(),load(),save(),update(),delete()和saveOrUpdate( )等方法对PO进行加载、保存、更新、删除等 *** 作

在查询的情况下,可通过Session 对象生成一个Query对象,然后利用Query对象执行查询 *** 作;如果没有异常,Transaction对象将提交这些 *** 作结果到数据库中。

扩展资料:

Hibernate它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来 *** 纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

你好,hibernate框架属于orm对象关系映射型框架。hibernate在提供了很多程序员编码便利的同时,也给一些项目有一些不好的影响,就你刚刚说的变慢,其实也不能完全这样说,通常我们 *** 作数据库的时候,传统的做法,在没有使用hibernate的时候,我们首先自己编写jdbc,自己编写sql语句,总之自己控制数据库与程序的执行。而我们使用hibernate之后,不需要那么多繁琐的 *** 作了,只需要配置hibernate的映射文件,就可以实现 *** 作数据。其实了解hibernate内部的人都知道,hibernate实际上就是封装了jdbc而已。你把你 *** 作的东西交给hibernate,让他来给你处理,以前是我们自己处理,现在是他给我们处理。明白吧。所以如果使用hibernate,在数据量不是非常大,并且对项目的性能要求不是太高的,并且能够做好hibernate的优化,比如缓存,那基本都没有太大问题。否则就要考虑使用别的方案比如ibatits (现在叫mybatits)了。希望能够帮助到你。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11096060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存