JHipster为什么说我的实体未声明?

问题描述 投票:2回答:1

在file1.jdl中,我具有实体X定义,并且import-jdl正确生成了它,可以在.jhipster / X.json中看到它

在file2.jdl中我有关系:

relationship OneToMany{
    X{subordinateX} to X{superiorX}
}

当我尝试在file2.jdl上执行import-jdl时,给我错误:

从JDL解析应用程序和实体时出错:错误:在X和X之间的关系中,未声明X和X。

这是问题还是我做错了?

Thx

jhipster
1个回答
1
投票

我猜这是由于您定义了双向自我关系,似乎您正在建模某种树或某种层次结构。

如果您使用SQL进行操作,我怀疑这将在遍历树时导致性能问题。如果搜索“如何用SQL表示树”,您会发现这是一个经典问题,并且取决于所使用的数据库引擎,甚至可能会找到管理它的特定结构。您也可以搜索“如何在JPA中表示树”。

您是否尝试过将其简化为“ X {subordinateX}到X”以避免双向传播?

因此,它可能是JHipster中的错误,但是可能很难修复,因为例如它在UI中有很多含义。随时在github上报告它,也许其他人会提出修复。

作为一种解决方法,您可以尝试创建一个外部实体,以实现只有两个从属和上级列的层次关系(SQL中的一种联接表)。

© www.soinside.com 2019 - 2024. All rights reserved.