来自:http://www.01yun.com/other_question/20121214/10697.html
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});
http://www.01yun.com/other_question/20121214/10697.html
HibernateTemplate 还有一个方法 :
findByNamedQueryAndNamedParam(String queryName,String[] paramNames, Object[] values)
这是映射文件就要用: 而不是?
如:
<query name="byNameAndAge">
<![from User where u.name = :name and u.age = :age]]>
</query>
本文详细介绍了Hibernate中使用findByNamedQuery方法进行数据库查询的过程。该方法共有三种重载形式,分别用于不同参数条件下的查询操作。此外,还介绍了一种利用命名参数进行查询的方法。
2万+

被折叠的 条评论
为什么被折叠?



