Hibernate:注解与XML配置详解:主键生成与多对一关系示例

5星 · 超过95%的资源 需积分: 10 4 下载量 94 浏览量 更新于2024-09-11 收藏 210KB PDF 举报
本文档主要介绍了Hibernate框架中的两种关键配置方式:注解配置和XML配置,并通过实例展示了如何在不同场景下处理主键生成策略和关联关系。Hibernate是一个强大的对象关系映射(ORM)工具,它允许开发者将Java对象持久化到数据库中,简化了数据访问层的管理。 首先,我们来看注解配置。在XML配置之外,Hibernate提供了注解机制,可以直接在Java类上添加注解来声明持久化相关的元数据。例如,`@Id`注解用于标识一个类的主键,如`<idname="badCode" column="NC_ID">`部分所示,`generatorclass="assigned"`表示使用预设值(assigned)来生成主键,这意味着程序会直接设置主键的值,而不是由Hibernate自动分配。这种方式适用于单主键且没有外键的情况,如`com.pms.bean.base.BadCodeBean`类。 接下来是XML配置,这是Hibernate的传统方式,通过`<hibernate-mapping>`标签来组织类和表之间的映射关系。对于有外键关联的场景,如`ProjectBean`类中的`<many-to-one>`标签,`<column name="PRJ_CU_CODE" />`指定的是外键字段,`not-null="true"`确保外键字段不能为空,`lazy="false"`表示立即加载关联对象,提高性能。在`<many-to-one>`标签中,`<generatorclass="assigned"></generator>`同样表明主键的生成策略。 对于双主键的场景,Hibernate通常采用复合主键(composite-id),如`LocationBean`的配置所示。`<composite-id>`标签用于定义多个属性作为联合主键,`<key-propertyname>`标签分别定义每个属性及其对应的数据库字段。这种配置方式常见于多对多关系或者业务逻辑中需要的特定主键结构。 总结起来,本文档通过实际的代码示例,详细讲解了Hibernate中使用注解和XML配置来处理不同类型的主键生成策略(如单主键、有外键、双主键)以及关联关系的方法。理解并熟练掌握这些配置方法,能够帮助开发人员更高效地利用Hibernate进行数据库操作和对象关系映射。