189 8069 5689

描述Hibernate映射文件

在向大家详细介绍Hibernate之前,首先让大家了解下调用JPA的代码和调用Hibernate的代码,然后全面介绍Hibernate映射文件。

由于JPA是不需要配置的,代码里面已经包括了注释,所以下面附上Hibernate映射文件,为了使数据库里面更清楚一些,所以两者使用的表不是同一张表,JPA的表是带JPA前缀的,用@Table这个注释声明了这一点。

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

调用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(); 

调用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(); 

***发现是JPA是不能删除的,而Hibernate这边的调用可以删除,一开始我还以为是toplink的实现问题,后来特意把实现改成Hibernate的实现,也同样。所以有可能是JPA的要求必须得这样做,不能替我们自动完成一些东西,是利于安全。这可能就是标准和流行的差别吧。以上介绍Hibernate映射文件。


当前文章:描述Hibernate映射文件
当前网址:http://cdxtjz.cn/article/ccochdj.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。