Java EJB3 持久化注解详解

需积分: 9 2 下载量 80 浏览量 更新于2024-08-02 收藏 3.67MB PDF 举报
"EJB 3持久化" EJB(Enterprise JavaBeans)3是Java企业级应用中的一个核心组件,主要用于创建可复用、分布式的服务器端业务逻辑。EJB 3引入了重大改进,简化了开发流程,其中一个重要变化就是引入了注解(Annotation)来替代XML配置,使得代码更加简洁易读。 在EJB 3中,持久化(Persistence)功能是通过Java Persistence API (JPA) 实现的,它允许开发者将对象与数据库表进行映射,实现了对象关系映射(ORM)。JPA 2.0是EJB 3的一个重要组成部分,提供了更多的特性和改进。 1. **@Entity**:这个注解用于标记一个Java类作为实体类,表示该类的对象可以被持久化到数据库中。实体类通常对应于数据库中的一个表。 2. **@Id**:标识一个字段作为主键,用于唯一标识实体。在没有指定的情况下,JPA会尝试找到一个名为"id"的字段作为主键。如果需要自动生成主键,可以结合`@GeneratedValue`注解使用。 3. **@Column**:此注解用于定义实体类的属性如何映射到数据库表的列上。可以设置列的名称、长度、是否可为空等属性。 4. **@Table**:这个注解用于指定实体类对应的数据库表名。如果没有提供,JPA会默认使用实体类的名称。 5. **JavaPersistence2.0ExpertGroup** 和 **JSR-317**:这些指的是JPA 2.0规范的制定者和相关的Java Specification Request(JSR)。JSR-317是JPA 2.0的代号,由Linda De Michiel领导的专家小组负责制定。 6. **ProposedFinalDraft**:这是JPA 2.0规范的一个阶段,表明文档已经进入了最终草案阶段,即将成为官方标准。 7. **Sun Microsystems**:在当时(2009年)是JPA规范的主要贡献者和推动者,现在已经被Oracle公司收购。 8. **版权和许可**:文档中提到的版权信息,说明了规范的使用权限,通常允许在遵循特定条款下使用和复制,但不能未经许可进行商业利用。 EJB 3的持久化通过注解使得开发者无需编写大量的XML配置文件,提高了开发效率。同时,JPA 2.0增加了如级联操作、多对多关联、查询语言JPA QL(Java Persistence Query Language)等特性,进一步提升了开发者的生产力。在实际项目中,开发者可以利用这些工具和概念来设计和实现复杂的企业级数据存储和检索逻辑。