2006-11-06 08:00 作者: 李宁 出处: 天极开发 责任编辑:方舟 在java中使用HQL
到现在为止,我们已经学习了HQL的基本用法。接下来我们举一个例子来说明如何在Java中使用HQL。下面的例子只给出了主要的部分,由于本文只是讨论HQL的用法,因此,关于Hibernate的一些设置和在main()函数中调用Hibernate的部分并未给出,读者可以参考相关的文当。现在让我们看看下面的例子。
下面是必须引用的包
import java.util.List;
import org.hibernate.*;
import org.hibernate.cfg.*
import com.Order;
下面是类的声明
public class MyOrder
{
… …
}
下面让我们来实现MyOrder类的构造函数
public class MyOrder
{
SessionFactory sf;
public MyOrder()
{
Configuration cfg = new Configuration().addClass(Order.class);
sf = cfg.buildSessionFactory();
}
… …
}
下面的getOrder函数根据priceTotal的区间值返回Order对象。
public class MyOrder
{
…. ….
public Order getOrder(String lower, String upper)
{
// 打开一个会话
Session sess = sf.openSession();
// HQL语句
String query = "select o from o "
+ "Order as o join o.products as p "
+ "where o.priceTotal > :priceTotalLower"
+ "and o.priceTotal< :priceTotalUpper";
Query q = sess.createQuery(query);
// 将两个参数传入HQL中
q.setDouble("priceTotalLower", Double.parseDouble(lower));
q.setDouble("priceTotalUpper", Double.parseDouble(upper));
List list = q.list();
Order o=(Order)list.iterator.next();
return o;
}
… …
}
下面的main函数将测试MyOrder类
public class MyOrder
{
… …
public static void main(String args[])
{
Order o=MyOrder().getOrder(“100”, “300”);
System.out.println(“id=”+ o.id);
… …
}
}
小结
上述的代码演示了如何在Java中使用HQL,但HQL还有两点需要注意一下:
1. HQL并不区分字母的大小写,但在HQL中的Java类和属性名必须和实际的类和属性名一致。如SELECT和select之间可以互换,但Order和order却代表不同的含义。
2. 如果HQL中引用的类未被导入,在HQL中必须引用具体的包。如本例中,如果com.Order未被导入,在HQL中必须将Order写成com.Order。
分享到:
相关推荐
Hibernate HQL 深度历险 深入讲解Hibernate HQL 查询
Hibernate hql查询语法总结 Hibernate hql查询语法总结
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询....
Hibernate中的关联查询实际上生成的是数据库表连接查询的SQL语句
Hibernate HQL基础练习小列子+数据库
Hibernate查询语言HQL.PPT
hibernate hql各类查询范例
Hibernate HQL.txt Hibernate HQL.txt Hibernate HQL.txt
对hibernate的hql进行了详尽的讲解
Hibernate HQL.docHibernate HQL.docHibernate HQL.doc
hibernate hql基本操作
hibernate持久化,hql查询 关联映射
一个关于Hibernate-HQL 的文档 内容实际而且实用
Hibernate查询语言HQL
Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码
Hibernate HQL查询语句总结.docx 网络下载的
Hibernate HQL命名参数和Query接口的分页 Hibernate HQL命名参数和Query接口的分页
hibernate HQL 查询教程 管理 Session ThreadLocal 接口的使用