我是Hibernate的新手.我正在阅读一些教程,我发现如果我们在hibernate配置文件中添加模型类,我们仍然需要@Entity在模型类中添加注释.
为什么会这样?
我会引用此文档
2.2.1. 将 POJO 标记为持久实体
每个持久 POJO 类都是一个实体,并使用 @Entity 注释进行声明(在类级别):
@Entity public class Flight 实现 Serialized { Long id;
Run Code Online (Sandbox Code Playgroud)@Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } }@Entity将该类声明为一个实体(即持久化的POJO类),@Id声明该实体的标识符属性。其他映射声明是隐式的。Flight 类映射到 Flight 表,使用列 id 作为其主键列。笔记
异常配置的概念是 JPA 规范的核心。
根据您是否注释字段或方法,Hibernate 使用的访问类型将是字段或属性。EJB3 规范要求您在要访问的元素类型上声明注释,即,如果使用属性访问,则声明 getter 方法;如果使用字段访问,则声明字段。应避免在字段和方法中混合注释。Hibernate会根据@Id或@EmbeddedId的位置猜测访问类型。
有一种叫做 JPA 又名 Java Persistence API 的东西。Hibernate 在其实现中遵循这些准则。因此,为了确保它被 JVM 正确识别(以及映射为实体)
JPA 将在持久性管理设置中包含任何用 @Entity 注释的类。如果使用注释,则不需要 persistence.xml。这也适用于其他 JPA 实现,例如 Open-JPA
作为 Java 的经验法则。J2EE 以接口和注释以及各种其他方式的形式提供指南。当有人开发 J2EE 的 API 实现时,他们会遵循这些指令。这就是标准化的方式。
| 归档时间: |
|
| 查看次数: |
1284 次 |
| 最近记录: |