jhipster 在解析导入 jdl 时出错

jhipster give error while parsing import jdl

我用“http://www.jhipster.tech/jdl-studio/”创建了一个 jdl 文件,但是当我在我的 jhipster 项目中启动导入时,出现了这个错误:

我在jdl Studio中没有报错

Using JHipster version installed locally in current project's node_modules
Executing jhipster:import-jdl jhipster-jdl.jh
Options: 
The jdl is being parsed.
events.js:160
  throw er; // Unhandled 'error' event
  ^

Error: ERROR!
Error while parsing entities from JDL

at Environment.error (D:\workspace\yvidya\node_modules\yeoman-environment\lib\environment.js:157:40)
at error (D:\workspace\yvidya\node_modules\generator-jhipster\generators\generator-base.js:1676:18)
at parseJDL (D:\workspace\yvidya\node_modules\generator-jhipster\generators\import-jdl\index.js:105:26)
at Object.<anonymous> (D:\workspace\yvidya\node_modules\yeoman-generator\lib\index.js:399:25)
at D:\workspace\yvidya\node_modules\run-async\index.js:25:25
at D:\workspace\yvidya\node_modules\run-async\index.js:24:19
at self.env.runLoop.add.completed (D:\workspace\yvidya\node_modules\yeoman-generator\lib\index.js:400:11)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)

有我的jdl文件

entity Entite {
    nom String required maxlength(100),
    numeroLicence String maxlength(30),
    siret String maxlength(15),
    adresse String maxlength(100),
    adresseComplement String maxlength(100),
    codePostal String maxlength(10),
    ville String maxlength(50)
}

entity TypeEntity {
    nom String required maxlength(30)
}

entity WebService {
    nom String required maxlength(30),
    methode String required maxlength(10)
}

entity Profil {
    nom String required maxlength(20)
}

entity UserFonc {
    nom String required maxlength(30)
}

entity TypeBon {
    nom String required maxlength(15)
}

entity NatureBon {
    nom String required maxlength(15)
}

entity Permission {
}

entity BonSav {
    uuid String required maxlength(40),
    logicielId String required maxlength(40),
    codeMagasin String maxlength(10),
    numeroFournisseur String maxlength(40),
    codeReparation String required maxlength(10),
    libelleReparation Text required,
    dateDepot ZonedDateTime required,
    dateRetrait ZonedDateTime required,
    codeClient String required maxlength(10),
    nomClient String required maxlength(30),
    prenomClient String required maxlength(20),
    emailClient String maxlength(50),
    telephoneClient String maxlength(20),
    photo Blob,
    dateCreation ZonedDateTime required,
    dateModification ZonedDateTime required
}

entity Memo {
    titre String required maxlength(200),
    commentaire Text,
    flagTraiter Boolean,
    dateCreation ZonedDateTime required,
    dateModification ZonedDateTime required
}

relationship ManyToMany {
    Profil{WebService(nom)} to WebService{profil}
}

relationship ManyToMany {
    WebService{TypeEntity(nom)} to TypeEntity{webService}
}

relationship ManyToOne {
    Entite{typeEntity(nom)} to TypeEntity
}

relationship ManyToMany {
    Permission{entite(nom)} to Entite{permission}
}

relationship ManyToOne {
    Permission{profil(nom)} to Profil
}

relationship ManyToOne {
    Permission{UserFonc(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{entite(nom)} to Entite
}

relationship ManyToOne {
    BonSav{nature(nom)} to NatureBon
}

relationship ManyToOne {
    BonSav{type(nom)} to TypeBon
}

relationship ManyToOne {
    BonSav{destinataire(nom)} to Entite
}

relationship ManyToOne {
    Entite{entiteMere(nom)} to Entite
}

relationship ManyToOne {
    Memo{bonSav} to BonSav
}

relationship ManyToOne {
    Memo{createur(nom)} to UserFonc
}

relationship ManyToOne {
    Memo{modificateur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{createur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{modificateur(nom)} to UserFonc
}

// Set pagination options
paginate WebService, Profil, NatureBon, TypeBon with infinite-scroll
paginate Entite, TypeEntity, BonSav, Memo, UserFonc, Permission with pagination

dto * with mapstruct

// Set service options to all except few
service all with serviceImpl

能把错误解析给我吗?没看懂...

我正在使用 jhipster 4.9.0 并使用函数 import-jdl

谢谢

文斯

您的两个实体(MemoBonSav)使用 Text 数据类型。这不是有效的 JDL 数据类型。使用 StringTextBlob

另一个提示,您实际上可以将关系组合在一起:

relationship ManyToOne {
    Memo{modificateur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{createur(nom)} to UserFonc
}

relationship ManyToOne {
    BonSav{modificateur(nom)} to UserFonc
}

可以

relationship ManyToOne {
    Memo{modificateur(nom)} to UserFonc
    BonSav{createur(nom)} to UserFonc
    BonSav{modificateur(nom)} to UserFonc
}

我猜会有助于调试 :)