在向大家详细介绍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 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>
调用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映射文件自动生成.doc”很可能是这篇博文的文档形式,其中详细介绍了具体的操作步骤、使用工具或者自定义脚本,以帮助开发者理解并应用自动化的映射文件生成过程。...
首先,我们需要了解Hibernate映射文件的基本结构。通常,一个映射文件以`.hbm.xml`为扩展名,它使用XML格式来描述Java类和数据库表的对应关系。映射文件包含了类名、表名、字段及其数据类型等信息。例如: ```xml ...
#### Hibernate映射文件与配置关系 Hibernate映射是ORM(对象关系映射)框架中的一项关键技术,它允许开发者在数据库表和Java对象之间建立映射关系,从而简化了数据访问层的开发工作。映射文件通常是`.hbm.xml`格式...
接下来,我们讨论如何自动生成Hibernate映射文件和实体类: 1. 首先,你需要选择你的Java项目,然后右击并选择MyEclipse菜单,接着选择“Add Hibernate Capabilities”。这个操作会引导你配置Hibernate的相关设置,...
描述中的博文链接指向了一个名为“yefeishan”的作者在ITEYE博客上的文章,虽然具体内容无法在这里详述,但通常这类文章会详细介绍如何配置和使用Hibernate Tools,包括安装、设置IDE集成、配置Hibernate工具、运行...
描述:本文深入解析了Hibernate映射文件配置的核心概念,重点阐述了映射文件的基本结构及其组成部分,包括主键(id)、普通属性(property)等关键元素的配置方法和策略。 ### Hibernate映射文件配置详解 在...
在 Hibernate 中,映射文件是用来描述对象与数据库表之间的对应关系的 XML 文件。这些映射文件是 Hibernate 实现 ORM(对象关系映射)的核心组成部分。下面我们将详细探讨文档中提到的一对多、多对一、一对一以及多...
"Hibernate映射配置实例大全"是一个全面深入的资源,旨在帮助开发者理解和掌握如何有效地配置Hibernate以实现对象关系映射(ORM)。在这个文档中,我们将探讨各种关键的映射配置方法,以及相关的实例。 首先,我们...
XDoclet是基于Javadoc的元数据处理工具,它通过读取Java源代码中的特定注解,自动生成各种配置文件,包括Hibernate的.hbm.xml映射文件、EJB组件的部署描述符等。使用XDoclet,开发者无需手动创建和维护这些配置文件...
总结来说,XDoclet和Ant在Java开发中扮演着重要角色,前者简化了Hibernate映射文件的管理,后者则为项目构建和自动化提供了强大支持。通过合理的利用这两者,开发者可以提高工作效率,降低出错概率,使项目管理更加...
- **映射文件(Mapping File)**:这是Hibernate的核心配置之一,用于描述实体类与数据库表之间的映射关系。映射文件通常采用XML格式,也可以使用注解(自Hibernate 3.0起支持)。映射文件中定义了实体类的主键策略...
例如,`Cat.hbm.xml`映射文件会描述`Cat`类与数据库中某张表的关系。映射文件中会包含字段到列的映射,实体间关系的定义等。 1. **一对多关系**:在映射文件中,可以通过`set`、`list`或`map`标签来表示。例如,...
【标题】:“Hibernate映射数据库表插件” 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。这个“Hibernate映射数据库表插件”是为了帮助开发者更方便地管理和...
2. **映射方式**:XML映射文件(hibernate.cfg.xml和.hbm.xml)和注解映射的使用,对比两者的特点和适用场景。 3. **实体类映射**:如何定义实体类,以及如何将类的属性与数据库字段对应,包括基本类型、复杂类型...
标题提到的"myeclipse自动生成映射文件",实际上是指使用MyEclipse的"MyEclipse Database Explorer"视图,结合Hibernate框架,快速生成与数据库表对应的Hibernate映射文件(hbm.xml)和实体类(POJO)。这个功能不仅...
- 对于通过hbm.xml生成的实体类,需要在hibernate.cfg.xml中添加相应的映射文件路径。 3. **测试连接**: - 运行测试程序,验证Hibernate是否能够正确读取映射信息并与数据库交互。 通过以上步骤,我们不仅能够...
### Hibernate映射文件基础结构 映射文件通常以`<!DOCTYPE hibernate-mapping>`开头,引用DTD(文档类型定义),确保文件遵循正确的格式。例如: ```xml <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/...
- **Hibernate映射文件(.hbm.xml)**:每个持久化类对应一个映射文件,描述类与数据库表之间的映射关系。 2. **实验内容**: - 首先,需要下载并安装MySQL数据库,创建名为`hibernatedb`的数据库,并在其中创建`...
标题“Hibernate映射关系配置:XML方式和注解方式”涉及到的是Java持久层框架Hibernate中的一个重要概念——对象关系映射(ORM)。在这个主题中,我们将探讨如何通过XML映射文件和注解来配置Hibernate实体之间的关系...
映射文件描述了Java类与数据库表之间的映射关系,包括字段对应、主键设置、关联关系等。Hibernate 5.2的映射文件基于DTD,主要元素包括: 1. `<hibernate-mapping>`:根元素,定义映射文件的开始,通常会指定一个...