【问题标题】:Java Persistent Entities best practices [closed]Java 持久实体最佳实践 [关闭]
【发布时间】:2012-08-09 01:42:38
【问题描述】:

我正在为一个 Java EE 6 项目编写我的持久类。

我正在寻找编写这些课程的最佳实践。

例如,我知道建议添加版本字段。

我正在等待您的帮助。谢谢

更新 1: 我正在为电子商务编写课程:人员、产品、评论 ....

【问题讨论】:

  • 这些持久类描述了什么?顾客?命令?交易?您能否更新您的问题(使用“编辑”链接)以澄清一些事情。

标签: java jpa entity


【解决方案1】:

这真的取决于请求是什么。
仅仅因为“推荐”而添加字段可能会损害性能,因为它们被映射到数据库中的列。
也许您的流程根本不需要“版本控制”?
我想给你的建议是(如果你坚持使用 JPA/Hibernate)是:
A. 想想您的业务逻辑实体 - 例如,如果这是图书馆的应用程序,实体可能是 - Book、Author、Shelf、Room、Librarian、Reader 等等...
B. 为这些实体之间的关系建模
- 例如 - 一本书可能由多个作者编写。彼此可以写几本书


一旦你完成了这个 Java/OOP 建模,继续并引入基于 JPA 注释的关系:
例如,对于上述书籍作者关系,您将需要 @ManyToMany 注释。

此时,您还需要定义主键列。
您还应该考虑是否每个其他实体实例使用一次的实体 - 例如 - 每个阅读器将使用一次地址,是否应该保存在单独的表中,具有 OneToOne 注释,或者您更愿意将其保留在Reader 表,使用 Embeddable 类。

但是,当涉及到应用程序的领域、所需的性能和用例时,最佳实践确实会发生变化。
我建议您开始构建/设计您的应用程序并提出更具体的问题。

【讨论】:

    【解决方案2】:

    如果您在应用程序中使用 JPA,您至少应该了解 EntityManager 和 Relationships。请参阅此link 以了解 JPA 的用法。它可能对您有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2016-05-21
      • 2013-10-02
      • 2010-10-06
      • 2011-10-28
      相关资源
      最近更新 更多