hibernateTemplate 是 spring 提供吧,要把hibernate,spring 结合起来用,在eclipse一系列的向导操作下,会自动帮你生成一些 dao,里面就包含了这些方法.

解决方案 »

  1.   

    findByNamedQuery有三个从栽入方法:
    findByNamedQuery(String queryName);
    findByNamedQuery(String queryName,Object value);
    findByNamedQuery(String queryName,Object values);
    查看API说的很清楚 :
    Execute a named query for persistent instances. A named query is defined in a Hibernate mapping file.
    意思说所 :
    通过 queryName 查询数据库中的持久对象,而queyName是定义在此对象对应的hibernate的映射文件中的!
    定义语法如下:
    <query name="定义查询名">
    <![定义查询语句]]>
    </query>
    例1:findByNamedQuery(String queryName);
    <query name="all">
    <![from User]]>
    </query>
    findByNamedQuery("all");例2: findByNamedQuery(String queryName,Object value);
    <query name="byname">
    <![from User where u.name = ?]]>
    </query>findByNamedQuery("byname","tiger");例3: findByNamedQuery(String queryName,Object values);
    <query name="byNameAndAge">
    <![from User where u.name = ? and u.age = ?]]>
    </query>
    findByNamedQuery("byNameAndAge",new Object[]{"tiger",18});
    HibernateTemplate 还有一个方法 : 
    findByNamedQueryAndNamedParam(String queryName,String[] paramNames, Object[] values)这是映射文件就要用: 而不是? 
    如:
    <query name="byNameAndAge">
    <![from User where u.name = :name and u.age = :age]]>
    </query>
      

  2.   

    楼上说得很详细喽``
    就是在Hibernate的配置文件中,配置一些SQL语句。
    然后,用这个方法找到对应的名字的SQL语句,并可以传入参数以完善该SQL语句
      

  3.   

    <![CDATA[from User where u.name = ?]]>