sql与hql的一个细节错误整理

本文探讨了在Java中使用SQL查询替代HQL查询时,如何正确地将查询结果转换为JSON格式。重点介绍了getSessionFactory().getCurrentSession().createSQLQuery(sql).addEntity(clazz).list()的正确使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然java还不是很精通,但是写了也有几个月了,发现还是有很多细节的东西,没有很深的理解.
前几天和平时一样写了简单的增删改查,然后没太注意的犯了一个错,也很是幸运又多学了一点.
List<Object> commentsList = commentsService.findAll();
想要将这个list集合传到前台页面,接收类型:json,然后解析,在前台循环集合,发现是字符串数组,

回到后台debug,打印,发现JSONArray.fromObject(commentsList),这个得到的也是一个数组的集合,
想了好久没有想通,对比原来的项目,发现差异在于dao层,现在是用sql查询的,以前使用hql查询的,
sql查询完之后,getSessionFactory().getCurrentSession().createQuery(hql).list();直接就调用getSessionFactory().getCurrentSession().createSQLQuery(sql).list();这种返回list集合了,根本就没有
将集合中的实体类给加上,正确的写法是:getSessionFactory().getCurrentSession().createSQLQuery(sql).addEntity(clazz).list();
以前写的hql语句直接就是利用的对象啊!所以hql直接调用下面的方法得到list集合getSessionFactory().getCurrentSession().createQuery(hql).list();

总会有很多的问题存在,不要着急,慢慢发现,终究会解决的...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值