Hibernate注解中文指南:实体Bean与映射详解

需积分: 9 4 下载量 14 浏览量 更新于2024-07-28 收藏 560KB DOC 举报
"hibernate-annotation中文帮助文档" 在Java的ORM框架Hibernate中,Hibernate Annotations是用于在Java类上直接应用持久化元数据的一种方式,它极大地简化了对象关系映射的过程,使得开发者无需编写XML配置文件即可实现数据的持久化。本文档详细介绍了Hibernate Annotation的使用方法和各种注解的含义。 前言部分提到了翻译说明和版权声明,这通常是为了确保文档的准确性和合法性。接着,文档开始介绍如何创建一个基于注解的Hibernate项目,包括系统需求和配置,这对于初学者来说是非常重要的入门指南。 实体Bean章节是文档的核心,它详细阐述了如何使用EJB3注解来映射Java类到数据库表。其中: 1. **声明实体Bean**:这部分讲解如何使用@Entity注解来标记一个Java类为数据库中的表,以及@Table注解来指定对应的表名。 2. **映射简单属性**:@Column注解用于指定字段与数据库列的对应,包括非空、长度等属性。此外,还有@Embeddable和@Embedded用于嵌入式对象(组件)的映射。 3. **映射主键**:@Id注解标记主键属性,@GeneratedValue则用于控制主键的生成策略。 4. **映射继承关系**:Hibernate支持单表继承(@Inheritance(strategy=InheritanceType.SINGLE_TABLE))、每类一张表(@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS))和联合主键继承等多种策略。 5. **映射关联关系**:包括一对一(@OneToOne),多对一(@ManyToOne),一对多(@OneToMany)和多对多(@ManyToMany)的关系映射,以及通过@cascading实现的传播性持久化。 6. **映射复合主键与外键**:@EmbeddedId和@IdClass用于处理复合主键,而@ManyToOne和@JoinColumn则用于外键映射。 7. **映射二级表**:使用@SecondaryTable注解可以将一个实体映射到多个表。 8. **映射查询**:包括EJBQL/HQL查询的映射,以及本地化查询的设置。 9. **Hibernate独有的注解扩展**:如@EntityListeners用于添加实体监听器,@Cacheable开启缓存支持,@Filter定义过滤条件等。 3. **通过XML覆写元数据**:虽然使用注解是主要方式,但Hibernate也允许通过XML文件来补充或覆盖元数据,提供了灵活性。 4. **Hibernate验证器**:这部分涉及了Hibernate提供的数据验证功能,如内置的约束注解(@NotNull, @Size等),自定义约束的编写,以及如何在领域模型中应用这些验证规则。 文档的每个部分都深入浅出地解释了相关概念,并通过示例代码展示了如何实际应用。对于想要掌握Hibernate Annotation的开发者来说,这是一个非常全面且实用的参考资料。