Java 持久实体最佳实践

标签 java jpa entity

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

我正在寻求编写这些类的最佳实践。

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

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

更新1: 我正在为电子商务编写类(class):人员、产品、评论......

最佳答案

这实际上取决于请求是什么。
仅仅因为“推荐”而添加字段可能会损害性能,因为它们映射到数据库中的列。
也许您的流程根本不需要“版本控制”?
我想向您建议的是(如果您坚持使用 JPA/Hibernate):
A. 考虑您的业务逻辑实体 - 例如,如果这是图书馆的应用程序,则实体可能是 - 书籍、作者、书架、房间、图书管理员、读者等...
B. 对这些实体之间的关系进行建模
- 例如 - 一本书可能由多个作者编写。彼此可能会写几本书


完成 Java/OOP 建模后,继续基于 JPA 注释建立关系:
例如,对于上述图书作者关系,您将需要 @ManyToMany注解。

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

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

关于Java 持久实体最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11923951/

相关文章:

java - TYPE_INT_ARGB 图像未正确显示

java - hibernate :级联类型

java - JPA( hibernate )执行MySQL全文选择

hibernate - 用于搜索的 HQL 查询(一对多关系)

c# - 无法跟踪实体类型 'BookLoan' 的实例

c# - Entity Framework 附加 : object with same key exists

java - 我的代码有什么问题(GWT)

java - 尽管原始文件有效,但从服务器下载的 PDF 无效

java - tomcat context.xml中的BoneCP抛出找不到jdbc驱动的异常

java - hibernate 是否可以创建数据库和数据库用户?