簡體   English   中英

Jhipster實體生成錯誤

[英]Jhipster Entity Generation Error

我正在使用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)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM