hibernate sql语句

问题描述

Session sess = HibernateSessionFactory.getSession();Transaction tran = sess.beginTransaction();String sql = "insert into news(id,title,time,type1,context) values("+news.getId()+",'"+news.getTitle()+"','"+news.getTime()+"','"+news.getType1()+"','"+news.getContext()+"')";Query q = sess.createSQLQuery(sql);tran.commit();sess.close();帮忙看一下这个sql语句有什么错误,数据库的链接是正确的,应该就是sql语句的错误。news.getId()是int型,其他的都是verchar类型。

解决方案

hibernate不支持insert into value,支持insert into select。再说你句子Query q = sess.createSQLQuery(sql),后面少executeUpdate()函数。
解决方案二:
HQL为什么不直接用save啊??? HQL是面向对象的,写入SQL语句。。。我个人觉得肯定查不出结果非要用的话,貌似也只支持 insert into ... select...不支持value...如果LZ只想要把数据保存到表中的话,就用save好了

时间: 2024-09-28 02:32:37

hibernate sql语句的相关文章

java-Java:Hibernate 调用了一次方法,sql语句打印了两次

问题描述 Java:Hibernate 调用了一次方法,sql语句打印了两次 Hibernate 调用了一次方法,sql语句打印了两次,已跟踪调试,确定只有一次调用... 解决方案 是不是自己打印了一次,hibernate内部自己打印了一次 解决方案二: http://www.cnblogs.com/xusir/archive/2013/06/24/3152444.html

oracle-在线等,请教一下,hibernate 原生 sql语句 查询lag( , , ),出现语法错误

问题描述 在线等,请教一下,hibernate 原生 sql语句 查询lag( , , ),出现语法错误 String queryString = "select smsid from Sms where smsid = ( select c.p from ( select smsid,lag(smsid,1,0) over (order by smsid) as p from Sms) c where c.smsid= "+ smsid + ")"; SQLQue

sql语句转hibernate hql语句

问题描述 sql语句转hibernate hql语句 sql语句为select * from (select location_idregion_codecounty_namecount(region_code) as countKKou from mon_location where longitude !=0.0 and region_code in ('370901') GROUP BY region_code) as teb LEFT JOIN mon_region as r on te

在Java的Hibernate框架中使用SQL语句的简单介绍_java

Hibernate中有HQL查询语法.但我们用得比较熟的还是数SQL语句,那么应该怎么来让Hibernate支持SQL呢?这个不用我们去考虑了,Hibernate团队已经早就做好了.        废话不说,直接来例子啦. select * from t_user usr     上面是一条SQL语句,又是废话,是个人都知道.我们想让Hibernate执行这条语句,怎么办呢?看代码: Query query = session.createSQLQuery("select * from t_us

详解Java的Hibernate框架中的缓存与原生SQL语句的使用_java

Hibernate缓存缓存是所有关于应用程序的性能优化和它位于应用程序和数据库之间,以避免数据库访问多次,让性能关键型应用程序有更好的表现. 缓存对Hibernate很重要,它采用了多级缓存方案下文所述: 第一级缓存: 第一级缓存是Session的缓存,是一个强制性的缓存,通过它所有的请求都必须通过. Session对象不断自身的动力的对象,提交到数据库之前. 如果发出多个更新一个对象,Hibernate试图拖延尽可能长的时间做了更新,以减少发出的更新SQL语句的数量.如果您关闭会话,所有被缓存

如何查到hibernate.show_sql里面的sql语句是哪段代码生成的?

问题描述 简单说就是,如何知道hibernate生成的sql是代码里面的那一行执行的?就像抛出异常一样,可以知道是在哪个文件,哪一行出错.hibernate可以吗? 解决方案 你看这样行不行:在将会产生sql语句的地方的前面一句加上log.info("##")然后取控制台信息对##进行截取从而获取所产生的目标sql语句.解决方案二:好像不行, 只能用肉眼看!

ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句?

问题描述 ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句? 谢谢<bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName"value="com.mysql.jdbc.Driver"></property>&l

hibernate发出的SQL语句有误

问题描述 List<Userinfo>userinfos=null;Stringhql="fromUserinfoasu";userinfos=this.getSessionFactory().openSession().createQuery(hql).setFirstResult(0).setMaxResults(2).list();请问以上代码是否有误,为什么hibernate给我发出来的语SQL语句是:selecttop2userinfo0_.userIdasuse

hibernate中使用SQL语句,其中包含冒号:,该怎么处理啊?

问题描述 SQL语句如下SELECT * from (SELECT @rownum:=@rownum+1 rownum, i.goid FROM (SELECT @rownum:=0) r, tablename i) as tmp where goid=1008300000054108表名tablename ,主键字段名goid我的目的是要在MYSQL中,获得某条记录的rownum,以查出某条记录在分页查询中的第几页. 解决方案 这个是hibernate的一个bug,一直没有修复.据说修复这个会