首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

描述Hibernate投射文件

2012-10-06 
描述Hibernate映射文件在向大家详细介绍Hibernate之前,首先让大家了解下调用JPA的代码和调用Hibernate的代

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

由于JPA是不需要配置的,代码里面已经包括了注释,所以下面附上Hibernate映射文件,为了使数据库里面更清楚一些,所以两者使用的表不是同一张表,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 table="Person">
  19. <id name="id" column="personId" type="long">
  20. <generator column="deptId" + 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映射文件。

热点排行