杰普斯特实体生成错误



我正在使用JHipster,我正处于必须设置实体的地步。我正在面对一个不允许我生成实体的问题。

基本上,我创建了一个.jdl文件,然后将其导入到我的JHipster项目中。问题是我无法生成所有实体。更多在具体的实体"测验"。

这可能是问题所在?

这是日志:

Error: ERROR! Copying template src/test/java/package/web/rest/_EntityResourceIntTest.java failed. [TypeError: /Users/manu/app/node_modules/generator-jhipster/generators/entity-server/templates/src/test/java/package/web/rest/_EntityResourceIntTest.java:199
    197|     private static final Integer <%=defaultValueName %> = <%= defaultValue %>;
    198|     private static final Integer <%=updatedValueName %> = <%= updatedValue %>;
 >> 199| <%_ } else if (fieldType === 'Long') { _%>
    200| 
    201|     private static final Long <%=defaultValueName %> = <%= defaultValue %>L;
    202|     private static final Long <%=updatedValueName %> = <%= updatedValue %>L;
Cannot read property 'replace' of undefined]
    at Environment.error (/Users/manu/app/node_modules/yeoman-environment/lib/environment.js:157:40)
    at module.exports.error (/Users/manu/app/node_modules/generator-jhipster/generators/generator-base.js:2030:18)
    at ejs.renderFile (/Users/manu/app/node_modules/generator-jhipster/generators/utils.js:193:23)
    at tryHandleCache (/Users/manu/app/node_modules/ejs/lib/ejs.js:226:12)
    at Object.exports.renderFile (/Users/manu/app/node_modules/ejs/lib/ejs.js:437:10)
    at Object.renderContent (/Users/manu/app/node_modules/generator-jhipster/generators/utils.js:189:9)
    at module.exports.template (/Users/manu/app/node_modules/generator-jhipster/generators/generator-base-private.js:528:23)
    at blockTemplate.templates.forEach (/Users/manu/app/node_modules/generator-jhipster/generators/generator-base.js:2348:42)
    at Array.forEach (<anonymous>)
    at module.exports.writeFilesToDisk (/Users/manu/app/node_modules/generator-jhipster/generators/generator-base.js:2325:45)

这是使用测验的.jdl文件部分。

entity Position {
    positionId Integer,
    description String,
    domain String,
    status String,
    createdBy String,
    createdOn LocalDate,
    quizId Integer
}
entity Quiz {
    quizId Integer,
    quizName String,
    startDate LocalDate,
    endDate LocalDate,
    status String,
    marks String
    questionsNumber Integer,
    questions String[],
    complexity String
}
entity Question {
    questionId Integer,
    section String,
    description String,
    optionA String,
    optionB String,
    optionC String,
    optionD String,
    answer String,
    marks String,
    status String,
    complexity String,
    quizId Integer
}
entity Result {
    resultId Integer,
    obtainedMarks String,
    percentage Double,
    appearedOn String,
    quizId Integer,
    customUserId Integer
}
relationship OneToMany {
    Position{quizId} to Quiz{quizId}
}
relationship OneToOne {
    Quiz{quizId} to Result{quizId}
}
relationship ManyToOne {
    Question{quizId} to Quiz{quizId}
}

除了"测验"之外,所有实体都进展顺利,我不知道为什么。有人可以花一些时间帮助我吗?我会为此感到高兴,我不知道如何解决这个问题。

实体生成器很可能在到达声明关系的部分时失败。您放入{}的字段应该是关系目标类型,而不是Integer

例如,如果以下代码段:

relationship OneToMany {
    Position{quiz} to Quiz
}

表示您希望 JHipster 在 Position 中创建一个名为 quiz 的字段,该字段的类型为 Quiz 。此外,您不应在relationshipentity部分中声明字段。最重要的是,您不需要任何id字段,因为这些字段默认情况下由JHipster添加到所有实体中。

只需从实体声明中删除所有quizId字段即可。JHipster将使用relationship块中提供的信息创建与实体之间关系相对应的字段。您可能希望重命名relationship块中使用的字段,因为它们最终将成为实际引用的对象(而不是它们的 id(。

相关内容

  • 没有找到相关文章

最新更新