HQL检索方式(扩展)

来源:互联网 发布:python return 用法 编辑:程序博客网 时间:2024/06/05 17:05

 <hibernate-mapping package="com.pannuo.entity">
    <class name="User" table="tb_user" lazy="true">
        <id name="userId" column="USERID" type="int">
            <generator class="increment"/>
        </id>
        <property name="userName" column="userName" type="string"/>
        <filter name="userFilter" condition=":selectUserId>=cardId"/>
    </class>
    <query name="Card.queryCard">
        <![CDATA[
            select u.userName from User u where  u.userId=1
        ]]>
    </query>
    <filter-def name="userFilter">
        <filter-param name="selectUserId" type="int"/>
    </filter-def>
</hibernate-mapping>

1.getNamedQuery             //每次就需要如下调用旧可以了,一次调用后再次调用会从缓存中读取;
Query query = session.getNamedQuery("User.queryUser");
List list = query.list();

2.Filter
Filter f = session.enableFilter("userFilter");
f.setParameter("selectUserId", 5);
Query q = session.createQuery("from User");    //由于配置实际是 from User where userId<=5
List l = q.list();

原创粉丝点击