自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

描述Hibernate映射文件

開發(fā) 后端
這里介紹Hibernate映射文件,由于JPA是不需要配置的,代碼里面已經(jīng)包括了注釋,所以下面附上Hibernate映射文件。

在向大家詳細(xì)介紹Hibernate之前,首先讓大家了解下調(diào)用JPA的代碼和調(diào)用Hibernate的代碼,然后全面介紹Hibernate映射文件。

由于JPA是不需要配置的,代碼里面已經(jīng)包括了注釋,所以下面附上Hibernate映射文件,為了使數(shù)據(jù)庫里面更清楚一些,所以兩者使用的表不是同一張表,JPA的表是帶JPA前綴的,用@Table這個注釋聲明了這一點。

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2.  
  3. <!DOCTYPE hibernate-mapping PUBLIC  
  4. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  5. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
  6. <hibernate-mapping package="com.hadeslee.jpaentity"> 
  7. <class name="Department" table="Department"> 
  8. <id name="id" column="departId" type="long"> 
  9. <generator class="native"/> 
  10. </id> 
  11. <property name="deptName"/> 
  12. <property name="description"/> 
  13. <set name="persons"> 
  14. <key column="deptId"/> 
  15. <one-to-many class="Person"/> 
  16. </set> 
  17. </class> 
  18. <class name="Person" table="Person"> 
  19. <id name="id" column="personId" type="long"> 
  20. <generator class="native"/> 
  21. </id> 
  22. <property name="name"/> 
  23. <property name="age"/> 
  24. <many-to-one name="department" column="deptId" class="Department"/> 
  25.  </class> 
  26. </hibernate-mapping> 

調(diào)用JPA的代碼如下:

  1. EntityManagerFactory emf = Persistence.createEntityManagerFactory("TestSSH1PU2");  
  2. EntityManager em = emf.createEntityManager();  
  3. em.getTransaction().begin();  
  4. com.hadeslee.jpaentity.Person p = new com.hadeslee.jpaentity.Person();  
  5. p.setAge(26);  
  6. p.setName("千里冰封");  
  7.  
  8. com.hadeslee.jpaentity.Department dept = em.find
    (com.hadeslee.jpaentity.Department.class, Long.valueOf("3"));  
  9. System.out.println("找到的dept=" + dept);  
  10. em.remove(dept);  
  11. em.getTransaction().commit(); 

調(diào)用Hibernate的代碼如下:

  1. Session session = HibernateUtil.getSessionFactory().getCurrentSession();  
  2. session.getTransaction().begin();  
  3. Department dept = (Department) session.load(Department.class, 2);  
  4. session.delete(dept);  
  5. session.getTransaction().commit(); 

***發(fā)現(xiàn)是JPA是不能刪除的,而Hibernate這邊的調(diào)用可以刪除,一開始我還以為是toplink的實現(xiàn)問題,后來特意把實現(xiàn)改成Hibernate的實現(xiàn),也同樣。所以有可能是JPA的要求必須得這樣做,不能替我們自動完成一些東西,是利于安全。這可能就是標(biāo)準(zhǔn)和流行的差別吧。以上介紹Hibernate映射文件。

【編輯推薦】

  1. 描述Hibernate檢查id字段
  2. Hibernate Template簡單描述
  3. Hibernate DetachedCriteria學(xué)習(xí)經(jīng)驗
  4. 概述Hibernate equals()方法
  5. Hibernate使用Person對象
責(zé)任編輯:佚名 來源: 比特網(wǎng)
相關(guān)推薦

2009-09-29 15:58:22

Hibernate映射

2009-09-28 14:54:33

Hibernate映射

2010-05-31 11:34:00

MySQL自增字段

2009-09-27 17:05:02

Hibernate p

2012-02-02 16:13:29

HibernateJava

2009-09-22 12:45:00

Hibernate性能

2009-09-28 15:43:42

Hibernate O

2009-09-23 10:58:32

Hibernate T

2009-09-21 16:30:20

Hibernate S

2009-09-22 11:16:27

Hibernate經(jīng)驗

2009-09-22 17:41:07

Hibernate性能

2009-09-27 13:00:56

Hibernate S

2009-09-29 16:48:42

Hibernate J

2012-02-06 13:34:49

HibernateJava

2009-09-25 10:00:47

Hibernate映射

2012-02-03 11:17:33

HibernateJava

2012-02-03 10:07:04

HibernateJava

2009-09-22 15:10:22

Hibernate映射

2009-09-24 13:17:37

Hibernate類庫

2009-09-23 10:23:03

Hibernate檢查
點贊
收藏

51CTO技術(shù)棧公眾號