And*_*ili 24 entity annotations jpa
我正在Spring应用程序中学习JPA,我对@Entity注释有一些疑问.
所以我有一个这样的模型类:
@Entity
@Table(name= “T_CUSTOMER”)
public class Customer {
@Id
@Column(name=“cust_id”)
private Long id;
@Column(name=“first_name”)
private String firstName;
@Transient
private User currentUser;
...........................
...........................
...........................
}
Run Code Online (Sandbox Code Playgroud)
好的,我知道@Entity注释是在类级别上,这意味着作为此类实例的对象的字段将映射到T_CUSTOMER数据库表的字段.
但是为什么在JPA中必须使用@Entity注释,我不仅可以使用@Table注释将模型对象映射到特定的数据库表?它有一些其他意义\行为,实际上我错过了?
我错过了什么?@Entity注释的确切含义是什么?
小智 42
@Entity注释定义了一个类可以映射到一个表.就是这样,它只是一个标记,例如Serializable界面.
为什么@Entity注释是强制性的?......好吧,这就是JPA的设计方式.当您创建新实体时,您必须至少完成两件事
用它注释 @Entity
创建一个id字段并使用它进行注释 @Id
其他任何东西都是可选的,例如表名是从实体类名派生的(因此@Table注释可以是可选的),表的列是从实体变量派生的(因此@Column注释可以是可选的),依此类推......
JPA正试图为想要学习/使用这个API的开发人员提供快速而简单的开端,并让开发人员可以选择尽可能少地配置功能,这是该API实现这一目标的方式之一"简单使用/学习"目标.因此,@Entity注释(连同@Id注释)是创建实体所需的最小值.
| 归档时间: |
|
| 查看次数: |
30670 次 |
| 最近记录: |