Spring JPA 中的 @Entity 是什么?

问题描述 投票:0回答:2

具体来说,我指的是javax.persistence.Entity。

根据我将鼠标悬停在其上时显示的文档,在 VS Code 中它指出:

指定类是一个实体。该注解适用于 实体类。

对于 Spring JPA 来说,类是实体意味着什么?

java spring spring-boot jpa entity
2个回答
20
投票

Entity
类型的类表示在抽象级别上与数据库中的表相关的类。 该类实例化的每个对象表示表本身的一个元组,包含后者的信息。 我建议您了解什么是“对象关系映射”。 我还推荐 this page 讨论 Spring 中的 ORM。


4
投票
docs.oracle.com

实体是一个轻量级的持久化域对象。通常,一个 实体代表关系数据库中的一张表,每个实体 实例对应于该表中的一行。初级编程 实体的工件是实体类,尽管实体可以使用 帮助类。

实体类必须遵循这些要求。

该类必须使用 javax.persistence.Entity 注释进行注释。
该类必须具有公共或受保护的无参数构造函数。 该类可能有其他构造函数。
该类不得声明为final。任何方法或持久实例变量都必须声明为final。
如果实体实例作为独立对象按值传递,例如通过会话 bean 的远程业务接口,则该类必须 实现 Serialized 接口。
实体可以扩展实体类和非实体类,非实体类可以扩展实体类。
持久化实例变量必须声明为私有、受保护或包私有,并且只能由实体直接访问 类的方法。客户端必须通过访问器或业务方法访问实体的状态。
另一个有趣的资源是这个
youtube 视频

TL;DR:@Entity 注解定义类可以映射到表。

© www.soinside.com 2019 - 2024. All rights reserved.