【发布时间】:2019-04-28 09:42:23
【问题描述】:
想象以下场景,我们使用继承策略 TABLE_PER_CLASS 和 Template 作为超类,而 Product 作为子类。
模板:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@Table(name = "Templates")
@NamedQuery(name = "getAllTemplates", query = "SELECT t FROM Template t")
public class Template implements Serializable { ...}
产品:
@Entity
@Table(name = "Product")
public class Product extends Template implements Serializable { ... }
在这种情况下,我什至认为我的 DB 2 模板和 1 个产品中有。每当我调用名为 NamedQuery 的模板时,我都会同时检索产品和模板。
我试过这样做:
SELECT t FROM Template t WHERE TYPE(t) = Template
但是它返回以下错误: 该类没有描述符,或者描述符不使用继承或使用ClassExtractor进行继承
有没有办法只获取模板?
【问题讨论】:
标签: java hibernate jpa jakarta-ee jboss