JPA:实现模型层次结构-@MappedSuperclass与@Inheritance

JPA:实现模型层次结构-@MappedSuperclass与@Inheritance,第1张

JPA:实现模型层次结构-@MappedSuperclass与@Inheritance

MappedSuperClass必须用于继承属性,关联和方法。

当您有一个实体和几个子实体时,必须使用实体继承。

您可以通过回答以下问题来判断您是否需要一个:模型中是否存在其他一些可以与基类相关联的实体?

如果是,则基类实际上是一个实体,您应该使用实体继承。如果没有,则基类实际上是一个包含几个不相关实体共有的属性和方法的类,您应该使用映射的超类。

例如:

  • 您可以有几种消息:SMS消息,电子邮件消息或电话消息。一个人有一个消息列表。无论哪种消息,您都可以将提醒链接到消息。在这种情况下,Message显然是一个实体,必须使用实体继承。
  • 您所有的域对象都可以具有创建日期,修改日期和ID,因此可以使它们从基本AbstractDomainObject类继承。但是,没有任何实体可以与AbstractDomainObject建立关联。它始终是与更具体的实体(客户,公司等)的关联。在这种情况下,使用MappedSuperClass是有意义的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5000626.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存