Hibernate创建和持久化Product

在向大家详细介绍持久化Product之前,首先让大家了解下Hibernate创建一个Product,然后全面介绍。

为大足等地区用户提供了全套网页设计制作服务,及大足网站建设行业解决方案。主营业务为成都网站建设、成都网站设计、大足网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

在我们假想的应用程序中,基本的使用模式非常简单:我们用Hibernate创建一个Product,然后将其持久化(或者换句话说,保存它);我们将搜索并加载一个已经持久化Product,并确保其可以使用;我们将会更新和删除Product。

Hibernate创建和持久化Product

现在我们终于用到Hibernate了。使用的场景非常简单:
1. Hibernate创建一个有效的Product。
2. 在应用程序启动时使用net.sf.Hibernate.cfg.Configuration获取net.sf.Hibernate.SessionFactory。
3. 通过调用SessionFactory#openSession(),打开net.sf.Hibernate.Session。
4. 保存Product,关闭Session。

正如我们所看到的,这里没有提到JDBC、SQL或任何类似的东西。非常令人振奋!下面的示例遵循了上面提到的步骤:

 
 
 
  1. package test;  
  2.  
  3. import net.sf.hibernate.Session;  
  4. import net.sf.hibernate.SessionFactory;  
  5. import net.sf.hibernate.Transaction;  
  6. import net.sf.hibernate.cfg.Configuration;  
  7. import test.hibernate.Product;  
  8.  
  9. // 用法:  
  10. // java test.InsertProduct name amount price  
  11. public class InsertProduct {  
  12.  
  13. public static void main(String[] args)  
  14. throws Exception {  
  15.  
  16. // 1. 创建Product对象  
  17. Product p = new Product();  
  18. p.setName(args[0]);  
  19. p.setAmount(Integer.parseInt(args[1]));  
  20. p.setPrice(Double.parseDouble(args[2]));  
  21.  
  22. // 2. 启动Hibernate  
  23. Configuration cfg = new Configuration()  
  24.  .addClass(Product.class);  
  25. SessionFactory sf = cfg.buildSessionFactory();  
  26.  
  27. // 3. 打开Session  
  28. Session sess = sf.openSession();  
  29.  
  30. // 4. 保存Product,关闭Session  
  31. Transaction t = sess.beginTransaction();  
  32. sess.save(p);  
  33. t.commit();  
  34. sess.close();  
  35. }  

当然,INFO行指出我们需要一个Hibernate.properties配置文件。在这个文件中,我们配置要使用的数据库、用户名和密码以及其他选项。使用下面提供的这个示例来连接前面提到的Hypersonic数据库:

 
 
 
  1. hibernate.connection.username=sa 
  2. hibernatehibernate.connection.password=  
  3. hibernate.connection.url=jdbc:hsqldb:/home/davor/hibernate/orders  
  4. hibernate.connection.driver_class=org.hsqldb.jdbcDriver  
  5. hibernate.dialect=net.sf.hibernate.dialect.HSQLDialect 

适当地进行修改(例如,可能需要修改Hibernate.connection.url),并保存到classpath中。这很容易,但那个 test/Hibernate/Product.hbm.xml资源是什么呢?它是一个XML文件,定义了Java对象如何被持久化(映射)到一个数据库。在该文件中,我们定义数据存储到哪个数据库表中,哪个字段映射到数据库表的哪个列,不同的对象如何互相关联,等等。让我们来看一下 Product.hbm.xml。

 
 
 
  1.  version="1.0" encoding="UTF-8"?> 
  2. "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> 
  3.  
  4.  
  5.  name="test.hibernate.Product"table="products"> 
  6.  
  7.  name="id" type="string"unsaved-value="null"> 
  8.  name="id" sql-type="char(32)"not-null="true"/> 
  9.  class="uuid.hex"/> 
  10.  
  11.  name="name"> 
  12.  name="name" sql-type="char(255)"not-null="true"/> 
  13.  
  14.  name="price"> 
  15.  name="price" sql-type="double"not-null="true"/> 
  16.  
  17.  name="amount"> 
  18.  name="amount" sql-type="integer"not-null="true"/> 
  19.    
  20.  
  21.  

【编辑推荐】

  1. Hibernate对数据索引进行缓存
  2. 剖析Hibernate主键生成几种常用方式
  3. 浅析Hibernate实现实体对象延迟加载
  4. Hibernate集合类型的延迟加载特性
  5. 概括Hibernate属性延迟加载

网站栏目:Hibernate创建和持久化Product
网站链接:http://www.csdahua.cn/qtweb/news30/519580.html

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

广告

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