真善美

勇于承担责任; 如果你做不到,要提前跟别人说明,不要等到事情发生后再解释。

  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  55 随笔 :: 0 文章 :: 29 评论 :: 0 Trackbacks
 

大家知道在SQL中进行传递参数,进行查询的时候,我们通常用PreparedStatement,在语句中写一大堆的“?”,在HQL中也可以这样用,如:

List mates=sess.find(

         select employee.name from Employee as employee+

         where employee.Name=?

         name,

         Hibernate.STRING

);

说明:上面利用Session里的find方法,在hibernate的api Session中得载了很多find方法,它可以满足你多种形式的查询。

上面的是一个参数的情形,这种情况下紧接着引入参数和定义参数的类型,当为多个参数,调用另一个find 方法,它的后两个参数都是数组的形式。

还有另外一种方法来解决上边的问题,JDO也有这样的方法,不过和hibernate的表现形式上有差别,但他们两个骨子里却是一样的,如:

Query q =sess.createQuery(select employee.name from Employee as employee where employee.Name =:name);

q.setString(name,Jplateau);

//当有多个参数的时候在此逐一定义

Iterator employees = q.iterate();

posted on 2007-11-06 09:44 真善美 阅读(253) 评论(0)  编辑  收藏 所属分类: 数据库学习