2007-11-25
hibernate
关键字: hibernate
hibernate的多表查询是十分稀罕的东西。
比如2个表关联 NewsClass 跟 News
今天看见几个帖子上却是这种写法,很是奇怪。
可以直接用对象查,干吗还要join来join去的,跟sql不是一样了吗?
查了好久才知道2.x不支持对象的方式来查询,就算两个表之间存在一定的关联关系也一定要用join来连接的。
可能我摸hibernate的时候已经是3.x了,一直习惯自己那样写。
在我寻找答案的时候,还意外发现点东西,也顺手写下来好了。
一个栏目包含多个子栏目的结构
配置
我想查询 情感天空 这个栏目的父栏目
如下
hibernate给我返回了几句sql
这些sql写得真是漂亮,越来越想了解他怎么生成了
比如2个表关联 NewsClass 跟 News
//查找名字为 “天气预报” 的新闻的栏目 String hql="from Newsclass c where n.news.name="天气预报""; Query query=session.createQuery(hql); List list=query.list();
今天看见几个帖子上却是这种写法,很是奇怪。
可以直接用对象查,干吗还要join来join去的,跟sql不是一样了吗?
//查找名字为 “天气预报” 的新闻的栏目 String hql="from Newsclass c join c.news n where n.name="天气预报""; Query query=session.createQuery(hql); List list=query.list();
查了好久才知道2.x不支持对象的方式来查询,就算两个表之间存在一定的关联关系也一定要用join来连接的。
可能我摸hibernate的时候已经是3.x了,一直习惯自己那样写。
在我寻找答案的时候,还意外发现点东西,也顺手写下来好了。
一个栏目包含多个子栏目的结构
配置
<hibernate-mapping>
<class name="org.lch.webshop.model.Newsclass" table="newsclass">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<many-to-one name="newsclass" class="org.lch.webshop.model.Newsclass" fetch="select">
<column name="ParentID" />
</many-to-one>
<property name="classname" type="java.lang.String">
<column name="cLassname" length="20" />
</property>
<set name="newsclasses" inverse="true" lazy="false">
<key>
<column name="ParentID" />
</key>
<one-to-many class="org.lch.webshop.model.Newsclass" />
</set>
</class>
</hibernate-mapping>
我想查询 情感天空 这个栏目的父栏目
如下
String hql="from Newsclass n where n.newsclasses.classname='情感天空'" order by desc";
Query query=session.createQuery(hql);
List list=query.list();
hibernate给我返回了几句sql
Hibernate: select newsclass0_.id as id, newsclass0_.ParentID as ParentID0_, newsclass0_.cLassname as cLassname0_ from newsclass newsclass0_, newsclass newsclasse1_ where newsclass0_.id=newsclasse1_.ParentID and newsclasse1_.name='情感天空'
这些sql写得真是漂亮,越来越想了解他怎么生成了
评论
夜枫舞影
2008-04-17
一样的 order by 就可以了
你把 主题表与回帖表建立相应的model对象
然后直接从一端查询就可以了 只不过格式是
order post.htid罢了
你把 主题表与回帖表建立相应的model对象
然后直接从一端查询就可以了 只不过格式是
order post.htid罢了
devil_javaMode
2008-04-14
一个主题表 ztid primary key,zttitle,ztcontent
一个回帖表 htid primary key,httitle,ztcontent ztid(主题表的外键)
我查询主题表要根据回帖的数量排序hibernate sql怎么写...
接触hibernate时间不长..大家指明下..
一个回帖表 htid primary key,httitle,ztcontent ztid(主题表的外键)
我查询主题表要根据回帖的数量排序hibernate sql怎么写...
接触hibernate时间不长..大家指明下..
发表评论
- 浏览: 5642 次
- 性别:

- 来自: 小城市

- 详细资料
搜索本博客
我的相册
200732113499170
共 2 张
共 2 张
最新评论
-
hibernate
一样的 order by 就可以了 你把 主题表与回帖表建立相应的model对 ...
-- by 夜枫舞影 -
hibernate
一个主题表 ztid primary key,zttitle,ztcontent ...
-- by devil_javaMode -
jquery新手练习--------点 ...
可选择很多,红的也很多,jQ已经稳定了,但是Prototype正在不断创新中
-- by afcn0 -
jquery新手练习--------点 ...
afcn0 写道很多人就是喜欢.click .mouseout .mouseov ...
-- by 夜枫舞影 -
jquery新手练习--------点 ...
很多人就是喜欢.click .mouseout .mouseover这样.下去, ...
-- by afcn0






评论排行榜