【问题标题】:Documents-oriented architecture and hibernate. Starting point面向文档的架构和休眠。初始点
【发布时间】:2011-08-26 08:13:58
【问题描述】:

我想创建这样的架构(抽象方案):

abstract class Document
 - number
 - autor
 - createDate

class Order extends Document
 - cost
 - client

class Discount extends Document
 - value

...

文档类应该有注释@MappedSuperclass(没有文档表),还是应该有自己的表 - 与具体实体的一对一关系?

在java+hibernate上有没有一些面向文档系统的现成模板,或者一些很好的例子?

【问题讨论】:

  • 顺便说一句,如果您正在处理文档,您可能应该(简要地)考虑使用JCR。它在处理包含大量文本的分层组织对象方面具有一些优势。它的一大缺点是需要学习另一个 API。

标签: java hibernate


【解决方案1】:

您的应用程序是处理文件,还是处理订单和折扣。例如,您是否有一些页面用于搜索和显示文档,无论其类型如何?或者您是否有其他实体与文档(而不是订单或折扣)有关联(ToOne 或 ToMany)?

如果其中一个问题的答案是肯定的,那么Document 应该是Entity(这并不意味着它应该有自己的表:Hibernate 支持实体的三种继承映射类型)。

如果实际上DiscountOrder 是两个不相关的实体,它们只有一组共同的属性(编号、作者和创建日期),那么文档应该只是MappedSuperclass

【讨论】:

  • +1:关键问题是你是否需要在 JPA 级别多态地处理 Documents。
猜你喜欢
  • 2023-03-13
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
相关资源
最近更新 更多