hibernate SQL语句为什么不加上select update delete insert

没加select等的应该是hql语句不是sql语句
如果我加上 select update delete insert
在采用 getSession() getHibernateTemplate() getJdbcTemplate()三种方法中的其中一种
是不是一样的

第1个回答  2010-08-13
....hibernate有自己的hql查询语句,面向对象的,没加select等的应该是hql语句不是sql语句,只是语法的问题罢了,没有原因。。就像为什么英语的说话方式和汉语的不同一样。。。

应该是不一样的。hql语句只能用 getHibernateTemplate()来查询,hibernate自己的模板,sql语句就用jdbc的,不过hibernateTemplat下也可以用sql语句
第2个回答  2010-08-16
-------------------------------------------------------

其实理解了hibernate的大概原理,就很容易理解了。

我们都知道和数据库打交道的只能是SQL,并非HQL,HIBERNATE要做的事情就是将HQL根据自己定义的规则转换为SQL,再通过JDBC和数据库打交道。

HQL有其自己的语法规则,其实HQL是有select关键字的。譬如我们自定义一个对象,用来封装数据,而这个对象数据来源是多个表。

则hql为 select com.xxx.sale.PeopleInforForm(a.name, b.salary) from A a, B b where ...

-------------------------------------------------------本回答被提问者和网友采纳
第3个回答  2010-08-18
dxxvcvxcv