全面讲解HibernateAnnotations

Hibernate还是比较常用的,于是我研究了一下Hibernate Annotations,在这里拿出来和大家分享一下,希望对大家有用。

成都创新互联服务项目包括伊吾网站建设、伊吾网站制作、伊吾网页制作以及伊吾网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,伊吾网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到伊吾省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

我们看看利用 Hibernate Annotations 如何做,只要三个类 不再需要 hbm.xml配置文件:

还要把用到的两个jar文件 放入的类路径中. 具体如何做,请参考  Hibernate Annotations 中文文档.HibernateUtil.java 也就是 Hibernate文档中推荐的工具类,Person.java 一个持久化的类, Test.java 测试用的类.都在test.hibernate.annotation 包中. 每个类的代码如下:

 
 
 
  1. package test.hibernate.annotation;  
  2.  
  3. import org.hibernate.HibernateException;  
  4. import org.hibernate.Session;  
  5. import org.hibernate.SessionFactory;  
  6. import org.hibernate.cfg.AnnotationConfiguration;  
  7. import org.hibernate.cfg.Configuration;  
  8.  
  9. public class HibernateUtil {  
  10. public static final SessionFactory sessionFactory;  
  11.  
  12. static {  
  13. try {  
  14. sessionFactory = new AnnotationConfiguration()     
  15. //注意: 建立 SessionFactory于前面的不同  
  16. .addPackage("test.hibernate.annotation")  
  17. .addAnnotatedClass(Person.class)  
  18.  
  19. .configure()  
  20. .buildSessionFactory();  
  21. //new Configuration().configure().buildSessionFactory();  
  22. }   
  23. catch (HibernateException e) {  
  24. // TODO Auto-generated catch block  
  25.  
  26. e.printStackTrace();  
  27. throw new ExceptionInInitializerError(e);  
  28. }  
  29. }  
  30.  
  31. public static final ThreadLocal session = new ThreadLocal();  
  32.  
  33. public static Session currentSession() throws HibernateException {  
  34. Session s = session.get();  
  35.  
  36. if(s == null) {  
  37. s = sessionFactory.openSession();  
  38. session.set(s);  
  39. }  
  40.  
  41. return s;  
  42. }  
  43.  
  44. public static void closeSession() throws HibernateException {  
  45. Session s = session.get();  
  46. if(s != null) {  
  47. s.close();  
  48. }  
  49. session.set(null);  
  50. }  

不需要了 hbm.xml 映射文件, 是不是简单了一些 .给人认为简化了一些不是主要目的.主要是可以了解一下 EJB3 的持久化机制,提高一下开发效率才是重要的.

好了.Hibernate Annotations的例子就完了

【编辑推荐】

  1. Hibernate创建和持久化Product
  2. 浅谈Hibernate工作方式
  3. 浅谈Hibernate OrderItem
  4. 简述Hibernate历史背景
  5. Hibernate的Orders OrderItem类

本文标题:全面讲解HibernateAnnotations
本文网址:http://www.gawzjz.com/qtweb/news49/207099.html

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

广告

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