ibatis传个实体进去,不管字段的个数,哪些字段,ibatis可以自动拼sql语句,实现多条件查询很方便,不管条件怎么办就那么一条配置就可以实现,但是hibernate能不能有什么方法可以办到这一点啊?跪求高手指教

解决方案 »

  1.   

    hibernate中的session.getNamedQuery("")可以实现,去查API吧。
      

  2.   

    那sql-query应该怎么写呢?类似于:
    <select id="findRbDeliverymethodByObj" parameterClass="RbDeliverymethod" resultClass="RbDeliverymethod">
    select * from rb_deliverymethod
    <dynamic prepend="where">
    <isPropertyAvailable property="rbdeliverymethodList">
    id in
    <iterate property="rbdeliverymethodList" open="("  conjunction=","  close=")">
    $rbdeliverymethodList[].id$
    </iterate>
    </isPropertyAvailable>
    <isNotPropertyAvailable property="rbdeliverymethodList">
    <isNotEmpty property="id"  prepend="and" removeFirstPrepend="true">
    id = #id#
    </isNotEmpty>
    <isNotEmpty property="deliveryname" prepend="and" removeFirstPrepend="true">
    deliveryname like '%$deliveryname$%'
    </isNotEmpty>
    <isNotEmpty property="deliveryamount" prepend="and" removeFirstPrepend="true">
    deliveryamount like '%$deliveryamount$%'
    </isNotEmpty>
    <isNotEmpty property="description" prepend="and" removeFirstPrepend="true">
    description like '%$description$%'
    </isNotEmpty>
    </isNotPropertyAvailable>
    </dynamic>
    </select>
    应该怎么写成hibernate的
      

  3.   

    各有各的特点吧,hibernateTempelet中有那种组合条件查询,可以看看