全面引用Hibernate示例

在向大家详细介绍Hibernate之前,首先让大家了解下Hibernate示例,以后全面介绍Hibernate。

创新互联是一家业务范围包括IDC托管业务,网站空间、主机租用、主机托管,四川、重庆、广东电信服务器租用,达州托管服务器,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。

Hibernate示例

创建一个订单。在该Hibernate示例中,我们创建并持久化一个订单。反复运行这个示例,查看产品数量在每次成功创建订单后如何变化。

 
 
 
  1. / ...
  2. Configuration cfg = new Configuration().addClass(Product.class).
    addClass(Order.class).addClass(OrderItem.class);
  3. // ...
  4. Order order = new Order();
  5. order.addProduct(milk, 3);
  6. order.addProduct(coffee, 5);
  7. // ...
  8. sess = sf.openSession();
  9. Transaction t = sess.beginTransaction();
  10. sess.save(order);
  11. t.commit();
  12. sess.close();
  13. System.out.println(order);
  14. // ...

按照价格范围查找订单。在该示例中,我们将展示如何使用一个带有两个参数的查询。Hibernate正确地加载具有适当订单项和产品的订单。

 
 
 
  1. // ...
  2. String query = "select o from o "+ "in class test.hibernate.Order "+ 
    "where o.priceTotal > :priceTotalLower "+ "and o.priceTotal 
    < :priceTotalUpper";
  3. // ...               
  4. Query q = sess.createQuery(query);
  5. q.setDouble("priceTotalLower",Double.parseDouble(args[0]));
  6. q.setDouble("priceTotalUpper",Double.parseDouble(args[1]));
  7. List list = q.list();
  8. // ...
  9. sess.close();
  10. // ...

删除一定价格范围内的订单。这是一个重要的Hibernate示例。这里我们会看到Hibernate是一个多么智能的工具。正如前面所提到的,当删除一个订单时,其订单项也需要被删除,但不能改变产品。在运行该示例后,检查数据库,确认产品没有变化。

 
 
 
  1. // ...
  2. String query = "select o from o "+ "in class test.hibernate.Order "+ 
    "where o.priceTotal > :priceTotalLower "+ "and o.priceTotal 
    < :priceTotalUpper";
  3. Transaction tx = sess.beginTransaction();
  4. sess.delete(query,new Object[]{new Double(args[0]),new Double(args[1])},
    new Type[]{Hibernate.DOUBLE,Hibernate.DOUBLE});      
  5. tx.commit();
  6. sess.close();

分享文章:全面引用Hibernate示例
当前地址:http://www.gawzjz.com/qtweb2/news26/1076.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联