我有一个“文档”表
CREATE TABLE `documents` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`docnum` int(11) default null,
`docdate` DATE default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
和相应的文档@Entity。然后我有一个orders
,invoices
和其他类似的表,它们与documents
. Documents 实体声明联合继承和派生的 Orders、Invoices、... 实体使用 @PrimaryKeyJoinColumn。一切都按预期工作。
然后我有一个表,它在各种文档类型之间建立了一些弱关系:
CREATE TABLE IF NOT EXISTS `documents_xref` (
`id` int(11) not null auto_increment primary key,
`xrefdate` DATE not null,
`src_doc` int(11) not null,
`src_doc_tablename` VARCHAR(250) not null,
`dst_doc` int(11) not null unique,
`dst_doc_tablename` VARCHAR(250) not null,
INDEX(`src_doc`),
CONSTRAINT FOREIGN KEY (`src_doc`) REFERENCES `documents` (`id`),
CONSTRAINT FOREIGN KEY (`dst_doc`) REFERENCES `documents` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
现在我需要显示一个文档之间的关系图,并且图的每个节点都必须告诉它是什么类型的文档,这样我就需要从表名中找到@Entity 类。除了蛮力之外,还有其他方法可以从 JPA2 获得它吗?
附带说明:如果他愿意,任何拥有 1500 代表的人都可以为我创建“联合继承”标签并将其附加到我的问题中吗?非常感谢。