如何在JHipster中创建@Transient属性?

时间:2018-06-06 18:33:49

标签: jhipster

我在考虑如何在JHipster中创建这样的Proposal对象:所以用户可以创建一个Proposal,其他用户可以投票。

entity Proposal {
    proposalText String  minlength(2) maxlength(100) required
    proposalVotes Integer
}
entity Vote {
    numberOfPoints Integer
}
relationship ManyToOne {
    Vote{proposal(id) required} to Proposal{vote}
    Proposal{user(id) required} to User{proposal}
    Vote{user(id) required} to User{vote}
}

在Spring中,我会创建@Transient proposalVotes Integer,Controller会查找Proposal所有的投票并将它们添加到一起以获得要发送到前端的结果。该属性不会存储在数据库中。

如果我使用JHipster并添加一个proposalVotes属性,结果将保存在数据库中,并且可以在对话框中更改(...而且我不喜欢结果),所以我的问题是: 当你需要一个每当他的对象被调用时计算的属性时,JHipster中的最佳实践是什么?

如果更熟悉,可以考虑使用帖子博客中的评论数量。

你在哪里计算结果:我会在ProposalResource中做,但我不确定,我在示例中没有看到这样的任何用例,但它看起来像一个常见的情况。

非常感谢

PD:如果Github中有任何例子,那可能会很棒!

1 个答案:

答案 0 :(得分:0)

实际上,如果您使用JDL(Jhipster域语言)生成实体,那么您将无法选择创建字段Transient,因为JDL是数据库设计机制,并且Transient字段不会被放入DB。

解决方案是将JDL导入我们的应用后,您可以在实体类中添加Transient个字段。