繁体   English   中英

查询映射的超类或等效类

[英]Querying Mapped Superclasses or Equivalent

我有三个类,它们是抽象超类Automobile的子类。 我正在使用单表继承模型和用于汽车类的@MappedSuperclass 子类是Car,Truck和Van。

我想查询汽车类,但返回了不同的子类。 我已经编写了一些查询并进行了一些研究,但似乎无法针对MappedSuperclasses进行查询。 我也尝试过执行NativeSqlQueries,但似乎无法弄清楚如何指定多个ResultSetMappings。

反正有做到这一点吗?

您不能在查询中使用映射超类。 如果要在查询中使用Automobile ,请不要将其标记为映射超类,而应将其标记为实体。

以下是来自JPA 2.0规范的内容 ,第二段与您的案例有关-

2.11.2映射的超类

实体可以从提供持久实体状态和映射信息的超类继承,但它本身不是实体。 通常,此类映射超类的目的是定义多个实体类共有的状态和映射信息。

与实体不同,映射的超类不可查询,并且不得将其作为参数传递给EntityManager或Query操作。 映射超类定义的持久关系必须是单向的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM