hibernate--HQL查询

HQL(Hibernate Query Language) :hibernate配备的一种强大的查询语言。

同criteria一样,Query的实例对象也是由session生产的:Query q=session.createQeury("select * from User as user");

List users=q.list();

//有点需要注意的就是 字符串里面的User 不是表名,而是User类名。其他的就是SQL类似。

复杂点查询,运用的方法还是跟sql语句差不多。所以没什么好说的。

//hibernate 3 版本中,对Query类封装了更新和删除。

//Hibernate 支持在xml文件中定义HQL查询语句:具体做法就是在User.hbm.xml中添加

<query name="user_query_by_age">

<![CDATA[select user.name ,user.age from User as user where user.age>:age]]>

</query>

//name是标识。最后的age是参数。

//调用时

Query q=session.getNameQuery("user_query_by_age");

q.setInteger("age”,20);

//这样做好处:不用重新编译和部署→提高了重用性和可维护性。

你可能感兴趣的:(sql,xml,Hibernate)