解决方案 »

  1.   

    问题解决了
    <filter-def name="myFilter">
         <filter-param name="attTime" type="string"/>
    </filter-def>
    name指定的是你的程序传递进来的参数
    <filter name="myFilter" condition="attTime between :startTime and :endTime"/>
    condition里除了name指定的外都需要是多的一端的字段名
    综上,应该改为<?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping package="com.ys.store.entity">
        <class name="Staff" table="ms_staff" catalog="mobile_stores">
            <id name="staffNo" type="string">
                <column name="staff_no" length="20" />
                <generator class="assigned"></generator>
            </id>
            <property name="staffName" type="string">
                <column name="staff_name" length="20" not-null="true" />
            </property>
            <set name="atts" lazy="true">
                <key column="att_staff_no"></key>
                <one-to-many class="Attendence"/>
                <filter name="myFilter1" condition="att_time&gt;start"/>
                <filter name="myFilter2" condition="att_time&lt;end"/>
            </set>    
        </class>
        <filter-def name="myFilter1">
            <filter-param name="start" type="string"/>
        </filter-def>
        <filter-def name="myFilter2">
            <filter-param name="end" type="string"/>
        </filter-def>
    </hibernate-mapping>