gpt4 book ai didi

java - Jhipster实体生成错误

转载 作者:行者123 更新时间:2023-12-02 02:23:08 27 4
gpt4 key购买 nike

我正在使用 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 文件中使用 Quiz 的部分。

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}
}

除了“测验”之外,所有实体都运行良好,我不知道为什么。有人可以花一些时间来帮助我吗?我会为此感到高兴,但我不知道如何解决这个问题。

最佳答案

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

例如,如果有以下代码:

relationship OneToMany {
Position{quiz} to Quiz
}

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

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

关于java - Jhipster实体生成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48196004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com