Hibernate命名查询
Hibernate命名查询就是在映射文件中定义字符串形式的查询语句。
HQL查询语句的命名查询(不能写在class里面)
列:
<hibernate-mapping>
<class name="entity.House" table="house">
.................
</class>
<query name="queryHouse">
<![CDATA[
from House
]]>
</query>
</hibernate-mapping>
SQL查询语句的命名查询(不能写在class里面)
列:
<hibernate-mapping><class name="entity.House" table="house">
................
</class>
<!-- 表连接查询HOUSE表连接STREET表 -->
<sql-query name="query">
<return alias="h" class="entity.House"/>
<return-join alias="s" property="h.street"/>
<![CDATA[
select {h.*},{s.*} from HOUSE h,STREET s where h.street_id=s.id and h.PRICE>?
]]>
</sql-query>
</hibernate-mapping>
我们配置映射文件后如何调用呢?
Query query=session.getNamedQuery("queryHouse");//queryHouse就是要调用映射文件中的名字