JPA+Hibernate 3.3 學習小結——增刪改查

          Posted on 2009-06-20 18:59 胡娟 閱讀(1436) 評論(0)  編輯  收藏 所屬分類: JAVA
          1.     查找對象
             1) 
          find()方法查找對象
          public void getPerson(){
                  EntityManagerFactory factory 
          = Persistence.createEntityManagerFactory("jpa");
                  EntityManager em 
          = factory.createEntityManager();
                  
          //相當于Hibernate中的get方法
                  Person person = em.find(Person.class1);
                  System.out.println(person.getUserName());
                  em.close();
                  factory.close();
              }
            2)  getReference()方法查找對象
          public void getPerson2(){
                  EntityManagerFactory factory 
          = Persistence.createEntityManagerFactory("jpa");
                  EntityManager em 
          = factory.createEntityManager();
                  
          //相當于Hibername中的load方法,延遲加載
                  Person person = em.getReference(Person.class1);
                  System.out.println(person.getUserName());
                  em.close();
                  factory.close();
              }
          find方法相當于Hibernate中的get方法,getReference方法相當于Hibernate中的load方法,具有延遲加載的作用;當查找的對象不存在時,find的方法返回null值,而getReference方法則拋出異常javax.persistence.EntityNotFoundException
            2.    
          更新對象
          public void update(){
                  EntityManagerFactory factory 
          = Persistence.createEntityManagerFactory("jpa");
                  EntityManager em 
          = factory.createEntityManager();
                  em.getTransaction().begin();
                  Person person 
          = em.find(Person.class1);
                  person.setUserName(
          "kate");
                  em.getTransaction().commit();
                  em.close();
                  factory.close();
              }
          將游離狀態下的數據更新到數據庫中
          public void updatePerson(){
                  EntityManagerFactory factory 
          = Persistence.createEntityManagerFactory("jpa");
                  EntityManager em 
          = factory.createEntityManager();
                  em.getTransaction().begin();
                  Person person 
          = em.find(Person.class1);
                  
          //把實體管理器中的實體變成游離狀態
                  em.clear();
                  person.setUserName(
          "jerry");
                  
          //把游離狀態下的更新同步到數據庫中
                  em.merge(person);
                  em.getTransaction().commit();
                  em.close();
                  factory.close();
              }
            3.     刪除
          public void delete(){
                  EntityManagerFactory factory 
          = Persistence.createEntityManagerFactory("jpa");
                  EntityManager em 
          = factory.createEntityManager();
                  em.getTransaction().begin();
                  Person person 
          = em.find(Person.class1);
                  em.remove(person);
                  em.getTransaction().commit();
                  em.close();
                  factory.close();
              }

          posts - 28, comments - 5, trackbacks - 0, articles - 1

          Copyright © 胡娟

          主站蜘蛛池模板: 崇阳县| 外汇| 淮阳县| 宜兴市| 绥德县| 高平市| 澄城县| 桃园县| 肇东市| 台山市| 高淳县| 云安县| 皋兰县| 铁力市| 韩城市| 彰化市| 石家庄市| 和龙市| 伊宁县| 安阳市| 盐津县| 繁峙县| 广昌县| 长乐市| 湘潭市| 太康县| 平潭县| 延寿县| 五原县| 抚宁县| 斗六市| 晴隆县| 南丰县| 霍林郭勒市| 东明县| 香河县| 梧州市| 女性| 梅州市| 邢台县| 泗阳县|