当前位置:首页>开发>正文

为什么有一些大型项目不使用Hibernate框架 eclipse中为什么没有hibernate

2023-06-07 21:06:18 互联网 未知 开发

 为什么有一些大型项目不使用Hibernate框架 eclipse中为什么没有hibernate

为什么有一些大型项目不使用Hibernate框架

hibernate的缓存会分为session级,sessionFactory级,和查询缓存,你说的是sessionFactory级,和查询缓存吧,但是必须都要配置的,不配置就没用。session级缓存==没有用,session用完就释放

eclipse中为什么没有hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

为什么要用spring而不用hibernate

spring 和 hibernate并不冲突
spring 提供了 “面向切片编程”和“控制反转”的概念,它是一个容易方便我们对代码的组织。
hibernate 提供了一个“ORM(Object-Relational-Mapping,对象关系映射)”的解决方案。简而言之就是方便了dao层与数据库的交互。

题主可能是看到有的书上在使用Spring MVC时不推荐使用Hibernate,这是因为Hibernate的框架相对笨重,很多时候使用起来并不自由。目前有很多轻量级的工具可以使用比如ibatis或者myibatis。

所以spring 和 Hibernate 并不冲突,这二者发挥的作用不同,可以一起使用,如果再加上Struts的话就是前几年风靡一时的SSH(Struts-Spring-Hibernate)框架了

Spring中让DAO层继承HibernateDaoSupport为什么不常用?

因为如果使用继承关系的话,耦合度比较高,也就是说不够优化,并且没办法是先spring的注入,所以现在一般用的比较少。

dao层现在一般都是通过hql语言,更方便一些。
举例:
Session session = HibernateUtil.getSessionFactory().getCurrentSession()
session.beginTransaction()
List result=session.createQuery("from Classes as a where a.classno
like " %" OId "%").list()
[sql] view plaincopyprint?
Session session = HibernateUtil.getSessionFactory().getCurrentSession()
session.beginTransaction()
List result=session.createQuery("from Classes as a where a.classno like " %" OId "%").list()
Session session = HibernateUtil.getSessionFactory().getCurrentSession()
session.beginTransaction()
List result=session.createQuery("from Classes as a where a.classno like " %" OId "%").list()

hibernate validator在java中可以使用 在页面上为什么不能使用

用Annotations 给类或者类的属性加上约束(constraint),在运行期检查属性值是很优雅的.Hibernate Validator就是这样的一个框架.该框架是十分容易的(就像参考文档中宣称的那样),几乎没有什么学习曲线,Validator 是一个验证框架 不需要和Hibernate的其他部分绑定就可以使用,只要在你的项目中添加Hibernate-annotations.jar库就可以了.
flex可以写自定义验证,根据自己的需要写验证。 下面发个例子: package myCompenent { import mx.validators.Validator //引用Validator类 import mx.validators.ValidationResult //引用ValidationResult类 public class myValidators...

郁闷了,非常简单的hibernate更新操作为什么就不执行

非常简单的,查询数据库中为男的用户,然后把score改成12,在更新,可是后台只打印了select 查询sql没有打印update sql,更新不成功,为什么呢,如果我改成Users u = usList.get(0)u.setScore(12)usersDao.update(u)就可以更新了,为什么呢,郁闷了,请问该如何操作呢?

public void update(final T entity) {
getSession().update(entity)
}

方法:
@Transactional
public void update() {
List usList = usersDao.findByProperty(
"userName", "男")
for (Users us : usList ) {
us.setScore(12)
usersDao.update(us)
}
}
你是不是使用springside 我想问题应该出在
这个方法usersDao.findByProperty
取出来是不是一个List?

为什么好多人都说Hibernate是垃圾?究竟是为什么?

一种工具好与不好,主要方面应该体现在是否实用,是否易用,好多人说hibernate怎么怎么好用,是,这个不能否定,毕竟hibernate都出了这么多年了,该优化的早优化了,但是,正如有人说的,hibernate慢,而且难优化,而且使用不好有问题,这就是他最大的垃圾地方,楼主可以想一想,hibernate提出的什么面向对象操作数据库,这本身就是一个谎言,oracle,db2这些主流数据库本省就是关系数据库,为什么非要用面向对象思维去考虑他,弄不好就容易让人思维错乱。不是谁没有那个思维,也不是谁不懂那个东西,二是学会hibernate,要想学好,跟另学一门语言的难度没什么区别,他只是一个工具,这么难,有意义吗?我以前没用过其他的orm框架,也觉着hibernate好,但是当你用过好的简单的、容易上手的框架,如ibatis,你就会发现hibernate就是绕弯子走路,脱裤子放屁,真没啥用~~

最新文章