hibernate的基础问题

kien5 2009-09-25 05:34:29


//数据库表hi_partyitems 映射Hibernian成HiPartyitems

String hql="from HiPartyitems";
String sql ="select * from HiPartyitems";

1. Session session = HibernateFactory.getSession();
2. Transaction tx = session.beginTransaction();
3. //Query query = session.createQuery(hql);
4. SQLQuery query =session.createSQLQuery(this.pSql);
5. tx.begin();
6. List list = query.list();
7. try {
8. count = list.size();
} catch (HibernateException ex) {
ex.printStackTrace();

} finally {
HibernateUtil.closeSession();
}



建立一个SQLQuery 执行到第6行就不走了,也没异常,但是用第3行的就行,屏蔽掉第4行就行,为什么呢?难道是我的sql写错了?

如果大家都不懂,就把“select p.* m.city from party p inner join message m on party.itemid=message.itemid where City='上海'” 变成hql好了,我就不用改成SQLQuery了。。。。
...全文
141 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjtgxq1 2009-09-29
  • 打赏
  • 举报
回复
HQL操作对象,应该是类名,SQL是表名
李子做IT 2009-09-25
  • 打赏
  • 举报
回复
使用 Debug 查看,设置节点
cooliceman 2009-09-25
  • 打赏
  • 举报
回复
用不用事务无所谓的,只要分清HQL操纵的是对象而SQL语句操纵的是数据库中的表就行了,别把两者用混了,
HQL是面向对象的数据库操作语言,做的操作有多步又要保证数据同步的时候才会采用事务,而像你这种单表查询是没有必要用的.
kien5 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 monkeyking1987 的回复:]
createSQLQuery操纵的是数据库的表。而看看你的SQL:
String sql ="select * from HiPartyitems";
是表名吗?不是吧。是类名。
所以,把类名HiPartyitems改为表名hi_partyitems

查询可以不用事务。可以把事务的语句全去掉。
tx.begin();
没有。去掉。
[/Quote]

都改了,还是不行,老问题依旧
kien5 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xycshh 的回复:]
Transaction tx = session.beginTransaction();
事务tx没关闭吧!加句tx.commit();试试
[/Quote]
上面都没执行到,说明不是这个问题
monkeyking1987 2009-09-25
  • 打赏
  • 举报
回复
createSQLQuery操纵的是数据库的表。而看看你的SQL:
String sql ="select * from HiPartyitems";
是表名吗?不是吧。是类名。
所以,把类名HiPartyitems改为表名hi_partyitems

查询可以不用事务。可以把事务的语句全去掉。
tx.begin();
没有。去掉。
xycshh 2009-09-25
  • 打赏
  • 举报
回复
同时删除tx.begin();
xycshh 2009-09-25
  • 打赏
  • 举报
回复
Transaction tx = session.beginTransaction();
事务tx没关闭吧!加句tx.commit();试试
xueac2 2009-09-25
  • 打赏
  • 举报
回复
tx.begin();
去掉,

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧