【问题标题】:What is @Entity in Spring JPA?Spring JPA 中的@Entity 是什么?
【发布时间】:2020-12-04 10:29:11
【问题描述】:

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

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

指定类是一个实体。此注释适用于 实体类。

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

【问题讨论】:

  • 为什么不喜欢?

标签: java spring spring-boot jpa entity


【解决方案1】:

Entity 类型的类表示在抽象级别上与数据库中的表相关的类。 此类实例化的每个对象都表示表本身的一个元组,包含后者的信息。 我建议您了解object relational mapping 是什么。 我还推荐 this page 讨论 Spring 上 ORM 的(Spring 文档)

【讨论】:

    【解决方案2】:

    我做了一些搜索以找到答案。还是决定发了 我抬头 docs.oracle.com 在发布我的问题之前。

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

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

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

    另一个有趣的资源是youtube video

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

    【讨论】:

    • 阅读 Hibernate 文档或有关 Hibernate 的书籍。这是一个重要的话题,值得花一些时间来避免以后花费数小时的谷歌搜索。你刚才说的是 VS Code 吗? ://
    • 我有 intellij 但我只是习惯了 vs code 哈哈...
    • 是的,我是这么认为的:)
    • 我以后肯定会阅读更多的技术书籍。但是,我认为现在,stackoverflow 和类似的东西很适合我的需求。但是感谢您的评论 :) 这确实是一种很酷的思考方式;读一本书可能需要一些时间,但将来会节省更多。
    猜你喜欢
    • 2015-06-02
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多