极度反感用sql查询,如果实体类变量太多,手写代码注入很麻烦,更喜欢用hibernate自动注入,但是遇到连表查询hql总是有问题,最近尝试了写了两个记录下,以防以后再用。
1.内连接
sql:
String hql = "
select icon
from TopicIcon as icon
left join icon.topic as t
order by t.rank asc ,t.id asc
";
hbm.xml
<many-to-one name="topic" class="com.pojo.Topic" fetch="select">
<column name="id_topic_ti" />
</many-to-one>
2.连表查询
sql:
String hql = " select ct from Course as c , CourseContent as ct
and c.enabled =:enabledwhere c.id = ct.course
and ct.chapterType =:chapterType
and c.id =:id